[exim-cvs] Parallel build fixes for lookups

Top Page

Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Parallel build fixes for lookups
Gitweb: http://git.exim.org/exim.git/commitdiff/c6fa5dfa8280de53bfbfd4921bc8bb5945dd5f19
Commit:     c6fa5dfa8280de53bfbfd4921bc8bb5945dd5f19
Parent:     ccee17956fb0d611dd5f45adb6ba31afc4eafd01
Author:     Phil Pennock <pdp@???>
AuthorDate: Thu Nov 10 04:44:04 2011 -0500
Committer:  Phil Pennock <pdp@???>
CommitDate: Thu Nov 10 04:44:04 2011 -0500


    Parallel build fixes for lookups


    Make lookups depend upon PHDRS not HDRS.
    Make parent dir depend upon child build target for lookups
---
 src/OS/Makefile-Base     |   11 ++++++-
 src/src/lookups/Makefile |   74 +++++++++++++++++++++++-----------------------
 2 files changed, 47 insertions(+), 38 deletions(-)


diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base
index deb0e44..de387e0 100644
--- a/src/OS/Makefile-Base
+++ b/src/OS/Makefile-Base
@@ -303,6 +303,8 @@ OBJ_EXPERIMENTAL = bmi_spam.o spf.o srs.o dcc.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.

+OBJ_LOOKUPS = lookups/lf_quote.o lookups/lf_check_file.o lookups/lf_sqlperform.o
+
 OBJ_EXIM = acl.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 \
@@ -311,7 +313,7 @@ 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 \
-        lookups/lf_quote.o lookups/lf_check_file.o lookups/lf_sqlperform.o \
+        $(OBJ_LOOKUPS) \
         local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
         $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)


@@ -458,6 +460,8 @@ PHDRS = ../config.h ../dbfunctions.h ../dbstuff.h ../exim.h ../functions.h ../gl
 version.h::
     @../scripts/reversion


+cnumber.h: version.h
+
version.o: $(HDRS) cnumber.h version.h version.c

 # This is the dummy module for use by test compiles of individual modules. It
@@ -611,6 +615,11 @@ dcc.o:           $(HDRS) dcc.h dcc.c


 drtables.o:      $(HDRS) drtables.c


+# We depend upon object files built as part of building the lookups library
+# When using parallel make, we don't have the dependency to force building
+# in the sub-directory unless we force that dependency:
+
+$(OBJ_LOOKUPS): buildlookups

 # The exim monitor's private modules - the sources live in a private
 # subdirectory. The final binary combines the private modules with some
diff --git a/src/src/lookups/Makefile b/src/src/lookups/Makefile
index 5a90cf3..035f6f2 100644
--- a/src/src/lookups/Makefile
+++ b/src/src/lookups/Makefile
@@ -24,44 +24,44 @@ lookups.a:       $(OBJ)
 .c.so:;          @echo "$(CC) -shared $*.c"
          $(FE)$(CC) $(LOOKUP_$*_INCLUDE) $(LOOKUP_$*_LIBS) -DDYNLOOKUP $(CFLAGS_DYNAMIC) $(CFLAGS) $(INCLUDE) $(DLFLAGS) $*.c -o $@


-lf_check_file.o: $(HDRS) lf_check_file.c  lf_functions.h
-lf_quote.o:      $(HDRS) lf_quote.c       lf_functions.h
-lf_sqlperform.o: $(HDRS) lf_sqlperform.c  lf_functions.h
+lf_check_file.o: $(PHDRS) lf_check_file.c  lf_functions.h
+lf_quote.o:      $(PHDRS) lf_quote.c       lf_functions.h
+lf_sqlperform.o: $(PHDRS) lf_sqlperform.c  lf_functions.h


-cdb.o:           $(HDRS) cdb.c
-dbmdb.o:         $(HDRS) dbmdb.c
-dnsdb.o:         $(HDRS) dnsdb.c
-dsearch.o:       $(HDRS) dsearch.c
-ibase.o:         $(HDRS) ibase.c
-ldap.o:          $(HDRS) ldap.c
-lsearch.o:       $(HDRS) lsearch.c
-mysql.o:         $(HDRS) mysql.c
-nis.o:           $(HDRS) nis.c
-nisplus.o:       $(HDRS) nisplus.c
-oracle.o:        $(HDRS) oracle.c
-passwd.o:        $(HDRS) passwd.c
-pgsql.o:         $(HDRS) pgsql.c
-spf.o:           $(HDRS) spf.c
-sqlite.o:        $(HDRS) sqlite.c
-testdb.o:        $(HDRS) testdb.c
-whoson.o:        $(HDRS) whoson.c
+cdb.o:           $(PHDRS) cdb.c
+dbmdb.o:         $(PHDRS) dbmdb.c
+dnsdb.o:         $(PHDRS) dnsdb.c
+dsearch.o:       $(PHDRS) dsearch.c
+ibase.o:         $(PHDRS) ibase.c
+ldap.o:          $(PHDRS) ldap.c
+lsearch.o:       $(PHDRS) lsearch.c
+mysql.o:         $(PHDRS) mysql.c
+nis.o:           $(PHDRS) nis.c
+nisplus.o:       $(PHDRS) nisplus.c
+oracle.o:        $(PHDRS) oracle.c
+passwd.o:        $(PHDRS) passwd.c
+pgsql.o:         $(PHDRS) pgsql.c
+spf.o:           $(PHDRS) spf.c
+sqlite.o:        $(PHDRS) sqlite.c
+testdb.o:        $(PHDRS) testdb.c
+whoson.o:        $(PHDRS) whoson.c


-cdb.so:           $(HDRS) cdb.c
-dbmdb.so:         $(HDRS) dbmdb.c
-dnsdb.so:         $(HDRS) dnsdb.c
-dsearch.so:       $(HDRS) dsearch.c
-ibase.so:         $(HDRS) ibase.c
-ldap.so:          $(HDRS) ldap.c
-lsearch.so:       $(HDRS) lsearch.c
-mysql.so:         $(HDRS) mysql.c
-nis.so:           $(HDRS) nis.c
-nisplus.so:       $(HDRS) nisplus.c
-oracle.so:        $(HDRS) oracle.c
-passwd.so:        $(HDRS) passwd.c
-pgsql.so:         $(HDRS) pgsql.c
-spf.so:           $(HDRS) spf.c
-sqlite.so:        $(HDRS) sqlite.c
-testdb.so:        $(HDRS) testdb.c
-whoson.so:        $(HDRS) whoson.c
+cdb.so:           $(PHDRS) cdb.c
+dbmdb.so:         $(PHDRS) dbmdb.c
+dnsdb.so:         $(PHDRS) dnsdb.c
+dsearch.so:       $(PHDRS) dsearch.c
+ibase.so:         $(PHDRS) ibase.c
+ldap.so:          $(PHDRS) ldap.c
+lsearch.so:       $(PHDRS) lsearch.c
+mysql.so:         $(PHDRS) mysql.c
+nis.so:           $(PHDRS) nis.c
+nisplus.so:       $(PHDRS) nisplus.c
+oracle.so:        $(PHDRS) oracle.c
+passwd.so:        $(PHDRS) passwd.c
+pgsql.so:         $(PHDRS) pgsql.c
+spf.so:           $(PHDRS) spf.c
+sqlite.so:        $(PHDRS) sqlite.c
+testdb.so:        $(PHDRS) testdb.c
+whoson.so:        $(PHDRS) whoson.c


# End