X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/61ec970df30325dbcd8c9d0f0e431dc793126656..e5a9dba621b4301bfbe2bc05576ddc5ec752b1b5:/src/OS/Makefile-Base?ds=sidebyside diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base index 7a5cf2b43..dff6784a2 100644 --- a/src/OS/Makefile-Base +++ b/src/OS/Makefile-Base @@ -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.5 2005/05/04 10:17:29 ph10 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 @@ -81,7 +81,7 @@ os.c: ../src/os.c # Build the config.h file. config.h: Makefile buildconfig ../src/config.h.defaults $(EDITME) - $(SHELL) $(SCRIPTS)/Configure-config.h + $(SHELL) $(SCRIPTS)/Configure-config.h "$(MAKE)" # This target is recognized specially by GNU make. It records those targets @@ -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,