1. Added Tony F's ${dlfunc expansion, slightly modified (see NewStuff).
[users/jgh/exim.git] / src / OS / Makefile-Base
index 7a5cf2b437fc44cb82ddca105b75d349084ed435..e91015cb29d35c22ee0a5cf590b52e782aea4064 100644 (file)
@@ -1,4 +1,4 @@
-# $Cambridge: exim/src/OS/Makefile-Base,v 1.1 2004/10/06 15:07:39 ph10 Exp $
+# $Cambridge: exim/src/OS/Makefile-Base,v 1.4 2005/03/08 15:32:02 tom Exp $
 
 # This file is the basis of the main makefile for Exim and friends. The
 # makefile at the top level arranges to build the main makefile by calling
@@ -284,6 +284,14 @@ convert4r4: Makefile ../src/convert4r4.src
        @echo ">>> convert4r4 script built"; echo ""
 
 
+# These are objects of optional features. They are always compiled, but
+# if the corresponding #defines are not set, they wind up empty and
+# are thrown away by the linker.
+
+OBJ_WITH_CONTENT_SCAN = malware.o mime.o regex.o spam.o spool_mbox.o
+OBJ_WITH_OLD_DEMIME = demime.o
+OBJ_EXPERIMENTAL = bmi_spam.o spf.o srs.o dk.o
+
 # Targets for final binaries; the main one has a build number which is
 # updated each time. We don't bother with that for the auxiliaries.
 
@@ -295,7 +303,8 @@ OBJ_EXIM = acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.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 \
         store.o string.o tls.o tod.o transport.o tree.o verify.o \
-        local_scan.o $(EXIM_PERL)
+        local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
+        $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
 
 exim:   pcre/libpcre.a lookups/lookups.a auths/auths.a \
         routers/routers.a transports/transports.a \
@@ -311,7 +320,7 @@ exim:   pcre/libpcre.a lookups/lookups.a auths/auths.a \
          auths/auths.a \
          $(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \
          $(EXTRALIBS_EXIM) $(DBMLIB) $(LOOKUP_LIBS) $(AUTH_LIBS) \
-         $(PERL_LIBS) $(TLS_LIBS)
+         $(PERL_LIBS) $(TLS_LIBS) $(LDFLAGS)
        @if [ x"$(STRIP_COMMAND)" != x"" ]; then \
          echo $(STRIP_COMMAND) exim; \
          $(STRIP_COMMAND) exim; \
@@ -446,7 +455,7 @@ dummies.o:       dummies.c
 # Compile instructions for perl.o for when EXIM_PERL is set
 
 perl.o:          $(HDRS) perl.c
-       $(PERL_CC) $(PERL_CCOPTS) $(INCLUDE) -c perl.c
+       $(PERL_CC) $(PERL_CCOPTS) $(CFLAGS) $(INCLUDE) -c perl.c
 
 # Compile instructions for the database utility modules
 
@@ -546,6 +555,28 @@ transport.o:     $(HDRS) transport.c
 tree.o:          $(HDRS) tree.c
 verify.o:        $(HDRS) verify.c
 
+
+# Dependencies for WITH_CONTENT_SCAN modules
+
+malware.o:       $(HDRS) malware.c
+mime.o:          $(HDRS) mime.c
+regex.o:         $(HDRS) regex.c
+spam.o:          $(HDRS) spam.c
+spool_mbox.o:    $(HDRS) spool_mbox.c
+
+
+# Dependencies for WITH_OLD_DEMIME modules
+
+demime.o:        $(HDRS) demime.c
+
+
+# Dependencies for EXPERIMENTAL_* modules
+
+bmi_spam.o:      $(HDRS) bmi_spam.c
+spf.o:           $(HDRS) spf.c
+srs.o:           $(HDRS) srs.c
+dk.o:            $(HDRS) dk.c
+
 # The module containing tables of available lookups, routers, auths, and
 # transports must be rebuilt if any of them are. However, because the makefiles
 # for the drivers are always run, we don't actually put the dependencies here,