# concatentates the configuration settings from Local/Makefile and other,
# optional, Local/* files at the front of this file, to create Makefile in the
# build directory.
+#
+# Copyright (c) The Exim Maintainers 2016
SHELL = $(MAKE_SHELL)
SCRIPTS = ../scripts
+O = ../OS
EDITME = ../Local/Makefile
EXIMON_EDITME = ../Local/eximon.conf
# Build (link) the os.h file
-os.h:
+os.h: $(SCRIPTS)/Configure-os.h \
+ $(O)/os.h-AIX $(O)/os.h-BSDI $(O)/os.h-cygwin \
+ $(O)/os.h-Darwin $(O)/os.h-DGUX $(O)/os.h-DragonFly \
+ $(O)/os.h-FreeBSD $(O)/os.h-GNU $(O)/os.h-GNUkFreeBSD \
+ $(O)/os.h-GNUkNetBSD $(O)/os.h-HI-OSF \
+ $(O)/os.h-HI-UX $(O)/os.h-HP-UX $(O)/os.h-HP-UX-9 \
+ $(O)/os.h-IRIX $(O)/os.h-IRIX6 $(O)/os.h-IRIX632 \
+ $(O)/os.h-IRIX65 $(O)/os.h-Linux $(O)/os.h-mips \
+ $(O)/os.h-NetBSD $(O)/os.h-NetBSD-a.out \
+ $(O)/os.h-OpenBSD $(O)/os.h-OpenUNIX $(O)/os.h-OSF1 \
+ $(O)/os.h-QNX $(O)/os.h-SCO $(O)/os.h-SCO_SV \
+ $(O)/os.h-SunOS4 $(O)/os.h-SunOS5 $(O)/os.h-SunOS5-hal \
+ $(O)/os.h-ULTRIX $(O)/os.h-UNIX_SV \
+ $(O)/os.h-Unixware7 $(O)/os.h-USG
$(SHELL) $(SCRIPTS)/Configure-os.h
# Build the os.c file
-os.c: ../src/os.c
+os.c: ../src/os.c \
+ $(SCRIPTS)/Configure-os.c \
+ $(O)/os.c-cygwin $(O)/os.c-GNU $(O)/os.c-HI-OSF \
+ $(O)/os.c-IRIX $(O)/os.c-IRIX6 $(O)/os.c-IRIX632 \
+ $(O)/os.c-IRIX65 $(O)/os.c-Linux $(O)/os.c-OSF1
$(SHELL) $(SCRIPTS)/Configure-os.c
# Build the config.h file.
# 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 \
dane.o \
dcc.o \
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 \
+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 \
filtertest.o globals.o dkim.o \
header.o host.o ip.o log.o lss.o match.o moan.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 \
std-crypto.o store.o string.o tls.o tod.o transport.o tree.o verify.o \
+ environment.o \
$(OBJ_LOOKUPS) \
local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
- $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
+ $(OBJ_EXPERIMENTAL)
exim: buildlookups buildauths pdkim/pdkim.a \
buildrouters buildtransports \
# Dependencies for the "ordinary" exim modules
acl.o: $(HDRS) acl.c
+base64.o: $(HDRS) mime.h base64.c
child.o: $(HDRS) child.c
crypt16.o: $(HDRS) crypt16.c
daemon.o: $(HDRS) daemon.c
enq.o: $(HDRS) enq.c
exim.o: $(HDRS) exim.c
expand.o: $(HDRS) expand.c
+environment.o: $(HDRS) environment.c
filter.o: $(HDRS) filter.c
filtertest.o: $(HDRS) filtertest.c
globals.o: $(HDRS) globals.c
lss.o: $(HDRS) lss.c
match.o: $(HDRS) match.c
moan.o: $(HDRS) moan.c
-os.o: $(HDRS) os.c
+os.o: $(HDRS) $(OS_C_INCLUDES) os.c
parse.o: $(HDRS) parse.c
queue.o: $(HDRS) queue.c
rda.o: $(HDRS) rda.c
std-crypto.o: $(HDRS) std-crypto.c
store.o: $(HDRS) store.c
string.o: $(HDRS) string.c
-tls.o: $(HDRS) tls.c tls-gnu.c tlscert-gnu.c tls-openssl.c tlscert-openssl.c
+tls.o: $(HDRS) tls.c \
+ tls-gnu.c tlscert-gnu.c \
+ tls-openssl.c tlscert-openssl.c
tod.o: $(HDRS) tod.c
transport.o: $(HDRS) transport.c
tree.o: $(HDRS) tree.c
verify.o: $(HDRS) verify.c
-dkim.o: $(HDRS) dkim.c
+dkim.o: $(HDRS) pdkim/pdkim.h dkim.c
# Dependencies for WITH_CONTENT_SCAN modules
malware.o: $(HDRS) malware.c
-mime.o: $(HDRS) mime.c
+mime.o: $(HDRS) mime.h 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
-dane.o: $(HDRS) dane.c dane-gnu.c dane-openssl.c
-dcc.o: $(HDRS) dcc.h dcc.c
-dmarc.o: $(HDRS) dmarc.h dmarc.c
+bmi_spam.o: $(HDRS) bmi_spam.c
+dane.o: $(HDRS) dane.c dane-gnu.c dane-openssl.c
+dcc.o: $(HDRS) dcc.h dcc.c
+dmarc.o: $(HDRS) pdkim/pdkim.h dmarc.h dmarc.c
imap_utf7.o: $(HDRS) imap_utf7.c
-spf.o: $(HDRS) spf.h spf.c
-srs.o: $(HDRS) srs.h srs.c
-utf8.o: $(HDRS) utf8.c
+spf.o: $(HDRS) spf.h spf.c
+srs.o: $(HDRS) srs.h srs.c
+utf8.o: $(HDRS) utf8.c
# The module containing tables of available lookups, routers, auths, and
# transports must be rebuilt if any of them are. However, because the makefiles