Unbreak test_dbfn make-target
authorPhil Pennock <pdp@exim.org>
Sun, 12 Feb 2017 00:37:04 +0000 (19:37 -0500)
committerPhil Pennock <pdp@exim.org>
Sun, 12 Feb 2017 00:41:03 +0000 (19:41 -0500)
doc/dbm.discuss.txt describes how to make and use `test_dbfn` for
testing DB functionality.

Commit cf0812d5 adds a call to assert_no_variables into store.c which
depends upon expand.c functionality and we can't link that in for
test_dbfn without pulling in half of Exim.

So adjust the test_dbfn target to rebuild store.o in COMPILE_UTILITY
mode and link against that variant, then remove the custom-built store.o
after the executable has been linked.

(cherry picked from commit 92e840383faa41c28f4ef099ee5fe0b6b18c2738)
Signed-off-by: Phil Pennock <pdp@exim.org>
src/OS/Makefile-Base

index 7ba7b04746846a3f4f4ba2342cf0009b7e1a92fc..f6b42f353ad79cc23ae08e64ac66f255031e0841 100644 (file)
@@ -779,10 +779,11 @@ sa-os.o:         $(HDRS) os.c
 test_dbfn:   config.h dbfn.c dummies.o sa-globals.o sa-os.o store.o \
               string.o tod.o version.o utf8.o
        $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE dbfn.c
 test_dbfn:   config.h dbfn.c dummies.o sa-globals.o sa-os.o store.o \
               string.o tod.o version.o utf8.o
        $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE dbfn.c
+       $(CC) -c $(CFLAGS) $(INCLUDE) -DCOMPILE_UTILITY store.c
        $(LNCC) -o test_dbfn $(LFLAGS) dbfn.o \
          dummies.o sa-globals.o sa-os.o store.o string.o \
          tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LDFLAGS)
        $(LNCC) -o test_dbfn $(LFLAGS) dbfn.o \
          dummies.o sa-globals.o sa-os.o store.o string.o \
          tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LDFLAGS)
-       rm -f dbfn.o
+       rm -f dbfn.o store.o
 
 test_host:   config.h child.c host.c dns.c dummies.c sa-globals.o os.o \
               store.o string.o tod.o tree.o
 
 test_host:   config.h child.c host.c dns.c dummies.c sa-globals.o os.o \
               store.o string.o tod.o tree.o