tidying
[exim.git] / src / OS / Makefile-Base
index f6b42f353ad79cc23ae08e64ac66f255031e0841..aa3b371a8157520e4027f3986c08130588d621d5 100644 (file)
@@ -36,7 +36,7 @@ FE       = $(FULLECHO)
 # are set up, and finally it goes to the main Exim target.
 
 all:       utils exim
-config:    $(EDITME) checklocalmake Makefile os.c config.h version.h
+config:    $(EDITME) checklocalmake Makefile os.c config.h version.h macro.c
 
 checklocalmake: 
        @if $(SHELL) $(SCRIPTS)/newer $(EDITME)-$(OSTYPE) $(EDITME) || \
@@ -109,6 +109,29 @@ os.c:   ../src/os.c \
 config.h: Makefile buildconfig ../src/config.h.defaults $(EDITME)
        $(SHELL) $(SCRIPTS)/Configure-config.h "$(MAKE)"
 
+# Build the builtin-macros data struct
+
+MACRO_CSRC = macro_predef.c globals.c readconf.c route.c transport.c \
+       drtables.c \
+       transports/appendfile.c transports/autoreply.c transports/lmtp.c \
+       transports/pipe.c transports/queuefile.c transports/smtp.c \
+       routers/accept.c routers/dnslookup.c routers/ipliteral.c \
+       routers/iplookup.c routers/manualroute.c routers/queryprogram.c \
+       routers/redirect.c \
+       auths/auth-spa.c auths/cram_md5.c auths/cyrus_sasl.c auths/dovecot.c \
+       auths/gsasl_exim.c auths/heimdal_gssapi.c auths/plaintext.c auths/spa.c \
+       auths/tls.c
+MACRO_HSRC = macro_predef.h os.h globals.h config.h \
+       routers/accept.h routers/dnslookup.h routers/ipliteral.h \
+       routers/iplookup.h routers/manualroute.h routers/queryprogram.h \
+       routers/redirect.h
+
+macro_predef: $(MACRO_CSRC) $(MACRO_HSRC)
+       @echo "$(CC) -DMACRO_PREDEF macro_predef.c"
+       $(FE)$(CC) $(CFLAGS) -DMACRO_PREDEF $(INCLUDE) -o macro_predef $(MACRO_CSRC)
+
+macro.c: macro_predef
+       ./macro_predef > macro.c
 
 # This target is recognized specially by GNU make. It records those targets
 # that do not correspond to files that are being built and which should
@@ -331,13 +354,13 @@ OBJ_LOOKUPS = lookups/lf_quote.o lookups/lf_check_file.o lookups/lf_sqlperform.o
 
 OBJ_EXIM = acl.o base64.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \
         directory.o dns.o drtables.o enq.o exim.o expand.o filter.o \
-        filtertest.o globals.o dkim.o hash.o \
+        filtertest.o globals.o dkim.o dkim_transport.o hash.o \
         header.o host.o ip.o log.o lss.o match.o moan.o \
         os.o parse.o queue.o \
         rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o \
         route.o search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o \
         std-crypto.o store.o string.o tls.o tod.o transport.o tree.o verify.o \
-        environment.o \
+        environment.o macro.o \
         $(OBJ_LOOKUPS) \
         local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
         $(OBJ_EXPERIMENTAL)
@@ -557,7 +580,8 @@ exim_tidydb.o:   $(HDRS) exim_dbutil.c
 
 exim_dbmbuild.o: $(HDRS) exim_dbmbuild.c
        @echo "$(CC) exim_dbmbuild.c"
-       $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) -o exim_dbmbuild.o exim_dbmbuild.c
+       $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) -DCOMPILE_UTILITY \
+               -o exim_dbmbuild.o exim_dbmbuild.c
 
 # Utilities use special versions of some modules - typically with debugging
 # calls cut out.
@@ -602,7 +626,7 @@ crypt16.o:       $(HDRS) crypt16.c
 daemon.o:        $(HDRS) daemon.c
 dbfn.o:          $(HDRS) dbfn.c
 debug.o:         $(HDRS) debug.c
-deliver.o:       $(HDRS) deliver.c
+deliver.o:       $(HDRS) transports/smtp.h deliver.c
 directory.o:     $(HDRS) directory.c
 dns.o:           $(HDRS) dns.c
 enq.o:           $(HDRS) enq.c
@@ -647,6 +671,7 @@ transport.o:     $(HDRS) transport.c
 tree.o:          $(HDRS) tree.c
 verify.o:        $(HDRS) transports/smtp.h verify.c
 dkim.o:          $(HDRS) pdkim/pdkim.h dkim.c
+dkim_transport.o: $(HDRS) dkim_transport.c
 
 # Dependencies for WITH_CONTENT_SCAN modules