[exim-cvs] Fix build for update on library component.

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Fix build for update on library component.
Gitweb: http://git.exim.org/exim.git/commitdiff/246976987ab3541336450030876b8650e786c581
Commit:     246976987ab3541336450030876b8650e786c581
Parent:     76146973f89f0e9265d85827285b9258910a56d7
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Apr 13 17:43:11 2014 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun Apr 13 17:43:11 2014 +0100


    Fix build for update on library component.


    When, eg, the smtp transport is changed the transports library must be rebuilt.
    Fix the main makefile to not assume that the date on the library .a is sufficient,
    but always call the library subdir makefiles.
---
 src/OS/Makefile-Base |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)


diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base
index f0edbf1..8209969 100644
--- a/src/OS/Makefile-Base
+++ b/src/OS/Makefile-Base
@@ -316,8 +316,8 @@ OBJ_EXIM = acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \
         local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
         $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)


-exim:   lookups/lookups.a auths/auths.a pdkim/pdkim.a \
-        routers/routers.a transports/transports.a \
+exim:   buildlookups buildauths pdkim/pdkim.a \
+        buildrouters buildtransports \
         $(OBJ_EXIM) version.o
     @echo "$(LNCC) -o exim"
     $(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \
@@ -354,7 +354,7 @@ exim_dumpdb: $(OBJ_DUMPDB)


OBJ_FIXDB = exim_fixdb.o util-os.o util-store.o

-exim_fixdb:  $(OBJ_FIXDB) auths/auths.a
+exim_fixdb:  $(OBJ_FIXDB) buildauths
     @echo "$(LNCC) -o exim_fixdb"
     $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LFLAGS) $(OBJ_FIXDB) \
       auths/auths.a $(LIBS) $(EXTRALIBS) $(DBMLIB)
@@ -620,7 +620,7 @@ drtables.o:      $(HDRS) drtables.c
 # When using parallel make, we don't have the dependency to force building
 # in the sub-directory unless we force that dependency:


-$(OBJ_LOOKUPS): lookups/lookups.a
+$(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
@@ -648,8 +648,7 @@ $(MONBIN): $(HDRS)

# The lookups library.

-buildlookups: lookups/lookups.a
-lookups/lookups.a: config.h version.h
+buildlookups:
      @cd lookups && $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
        CFLAGS_DYNAMIC="$(CFLAGS_DYNAMIC)" HDRS="../version.h $(PHDRS)" \
        FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" \
@@ -658,8 +657,7 @@ lookups/lookups.a: config.h version.h


# The routers library.

-buildrouters: routers/routers.a
-routers/routers.a: config.h
+buildrouters:
      @cd routers && $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
        FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
        INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)"
@@ -667,8 +665,7 @@ routers/routers.a: config.h


# The transports library.

-buildtransports: transports/transports.a
-transports/transports.a: config.h
+buildtransports:
      @cd transports && $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
        FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
        INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)"
@@ -676,8 +673,7 @@ transports/transports.a: config.h


# The library of authorization modules

-buildauths: auths/auths.a
-auths/auths.a: config.h
+buildauths:
      @cd auths && $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \
        FE="$(FE)" RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
        INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)"