[exim-cvs] Build: trim un-needed dependency

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Build: trim un-needed dependency
Gitweb: https://git.exim.org/exim.git/commitdiff/7e0622f31e19fea0cf50dea09b5ddc783d20a742
Commit:     7e0622f31e19fea0cf50dea09b5ddc783d20a742
Parent:     b2a6e91b334223c00d07dd3a7ca6d71626d21bf3
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Mon Aug 26 15:45:46 2024 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Tue Aug 27 20:48:33 2024 +0100


    Build: trim un-needed dependency
---
 src/OS/Makefile-Base     | 93 ++++++++++++++++++++++++++++++++++++++++--------
 src/src/auths/Makefile   | 14 ++------
 src/src/lookups/Makefile |  7 ++--
 src/src/routers/Makefile | 17 +--------
 4 files changed, 83 insertions(+), 48 deletions(-)


diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base
index 05979f6cb..2e8728ae2 100644
--- a/src/OS/Makefile-Base
+++ b/src/OS/Makefile-Base
@@ -508,15 +508,12 @@ OBJ_EXPERIMENTAL =    arc.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_ROUTERS = routers/rf_change_domain.o routers/rf_expand_data.o \
-    routers/rf_get_errors_address.o \
-    routers/rf_get_munge_headers.o routers/rf_get_transport.o \
-    routers/rf_get_ugid.o routers/rf_lookup_hostlist.o \
-    routers/rf_queue_add.o routers/rf_self_action.o routers/rf_set_ugid.o
-OBJ_AUTHS = auths/auth-spa.o auths/call_pam.o auths/call_pwcheck.o \
-    auths/call_radius.o auths/check_serv_cond.o auths/get_data.o \
-    auths/get_no64_data.o auths/pwcheck.o
+OBJ_LOOKUPS = lf_quote.o lf_check_file.o lf_sqlperform.o
+OBJ_ROUTERS = rf_change_domain.o rf_expand_data.o rf_get_errors_address.o \
+    rf_get_munge_headers.o rf_get_transport.o rf_get_ugid.o \
+    rf_lookup_hostlist.o rf_queue_add.o rf_self_action.o rf_set_ugid.o
+OBJ_AUTHS = call_pam.o call_pwcheck.o call_radius.o check_serv_cond.o \
+    get_data.o get_no64_data.o pwcheck.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 \
@@ -921,13 +918,79 @@ xclient.o:    $(HDRS) xclient.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:
+# Some sources live in the lookups, routers or auths directory
+
+$(OBJ_LOOKUPS) $(OBJ_ROUTERS) $(OBJ_AUTHS):    $(HDRS)
+
+$(OBJ_LOOKUPS):    lookups/lf_functions.h
+lf_check_file.o: lookups/lf_check_file.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+lf_quote.o:      lookups/lf_quote.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+lf_sqlperform.o: lookups/lf_sqlperform.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+
+$(OBJ_ROUTERS):    routers/rf_functions.h
+rf_change_domain.o:      routers/rf_change_domain.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_expand_data.o:        routers/rf_expand_data.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_get_errors_address.o: routers/rf_get_errors_address.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_get_munge_headers.o:  routers/rf_get_munge_headers.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_get_transport.o:      routers/rf_get_transport.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_get_ugid.o:           routers/rf_get_ugid.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_lookup_hostlist.o:    routers/rf_lookup_hostlist.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_queue_add.o:          routers/rf_queue_add.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_self_action.o:        routers/rf_self_action.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+rf_set_ugid.o:           routers/rf_set_ugid.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+
+auth-spa.o:         auths/auth-spa.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+call_pam.o:         auths/call_pam.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+call_pwcheck.o:     auths/call_pwcheck.c auths/pwcheck.h
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+call_radius.o:      auths/call_radius.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+check_serv_cond.o:  auths/check_serv_cond.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+get_data.o:         auths/get_data.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+get_no64_data.o:    auths/get_no64_data.c
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+pwcheck.o:          auths/pwcheck.c auths/pwcheck.h
+    @echo "$(CC) $<"
+    $(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) $<
+


-$(OBJ_LOOKUPS):  buildlookups
-$(OBJ_ROUTERS):  buildrouters
-$(OBJ_AUTHS):    buildauths


# 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/auths/Makefile b/src/src/auths/Makefile
index 5d8c8a001..e6b6abdf2 100644
--- a/src/src/auths/Makefile
+++ b/src/src/auths/Makefile
@@ -14,10 +14,9 @@

# MAGIC-TAG-MODS-OBJ-RULES-GO-HERE

-AF_OBJ = auth-spa.o call_pam.o call_pwcheck.o call_radius.o check_serv_cond.o \
-    get_data.o get_no64_data.o pwcheck.o
+OBJ += auth-spa.o


-all:        $(AF_OBJ) auths.a $(MODS)
+all:        auths.a $(MODS)


 auths.a:    $(OBJ)
         @$(RM_COMMAND) -f auths.a
@@ -37,15 +36,6 @@ SO_FLAGS = -DDYNLOOKUP $(CFLAGS_DYNAMIC) $(CFLAGS) $(INCLUDE) $(DLFLAGS)


$(OBJ) $(MOD): $(HDRS)

-auth-spa.o:         auth-spa.c
-call_pam.o:         call_pam.c
-call_pwcheck.o:     call_pwcheck.c pwcheck.h
-call_radius.o:      call_radius.c
-check_serv_cond.o:  check_serv_cond.c
-get_data.o:         get_data.c
-get_no64_data.o:    get_no64_data.c
-pwcheck.o:          pwcheck.c pwcheck.h
-
 cram_md5.o:         cram_md5.c cram_md5.h
 cyrus_sasl.o:       cyrus_sasl.c cyrus_sasl.h
 dovecot.o:          dovecot.c dovecot.h
diff --git a/src/src/lookups/Makefile b/src/src/lookups/Makefile
index 12d9d88b4..5193520f9 100644
--- a/src/src/lookups/Makefile
+++ b/src/src/lookups/Makefile
@@ -10,8 +10,9 @@


# MAGIC-TAG-MODS-OBJ-RULES-GO-HERE

+OBJ += spf.o

-all:             lookups.a lf_quote.o lf_check_file.o lf_sqlperform.o $(MODS)
+all:             lookups.a $(MODS)


 lookups.a:       $(OBJ)
          @$(RM_COMMAND) -f lookups.a
@@ -26,10 +27,6 @@ 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
-
 cdb.o cdb.so:           $(HDRS) cdb.c
 dbmdb.o dbmdb.so:       $(HDRS) dbmdb.c
 dnsdb.o dnsdb.so:       $(HDRS) dnsdb.c
diff --git a/src/src/routers/Makefile b/src/src/routers/Makefile
index fbca9047a..1980d5c18 100644
--- a/src/src/routers/Makefile
+++ b/src/src/routers/Makefile
@@ -12,11 +12,7 @@


# MAGIC-TAG-MODS-OBJ-RULES-GO-HERE

-RF_OBJ = rf_change_domain.o rf_expand_data.o rf_get_errors_address.o \
-      rf_get_munge_headers.o rf_get_transport.o rf_get_ugid.o \
-      rf_lookup_hostlist.o rf_queue_add.o rf_self_action.o rf_set_ugid.o
-
-all:             $(RF_OBJ) routers.a $(MODS)
+all:             routers.a $(MODS)


 routers.a:       $(OBJ)
          @$(RM_COMMAND) -f routers.a
@@ -35,17 +31,6 @@ routers.a:       $(OBJ)


$(OBJ) $(MOD): $(HDRS) rf_functions.h

-rf_change_domain.o:      rf_change_domain.c
-rf_expand_data.o:        rf_expand_data.c
-rf_get_errors_address.o: rf_get_errors_address.c
-rf_get_munge_headers.o:  rf_get_munge_headers.c
-rf_get_transport.o:      rf_get_transport.c
-rf_get_ugid.o:           rf_get_ugid.c
-rf_lookup_hostlist.o:    rf_lookup_hostlist.c
-rf_queue_add.o:          rf_queue_add.c
-rf_self_action.o:        rf_self_action.c
-rf_set_ugid.o:           rf_set_ugid.c
-
 accept.o accept.so:             accept.c       accept.h
 dnslookup.o dnslookup.so:       dnslookup.c    dnslookup.h
 ipliteral.o ipliteral.so:       ipliteral.c    ipliteral.h


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/