-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.544 2008/02/12 12:52:51 nm4 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.545 2008/02/14 13:49:35 fanf2 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
NM/05 Bugzilla 521: Integrated SPF Best Guess support contributed by
Robert Millan. Documentation is in experimental-spec.txt
+TF/04 Bugzilla 668: Fix parallel build (make -j).
Exim version 4.69
-# $Cambridge: exim/src/Makefile,v 1.4 2005/09/12 13:55:54 ph10 Exp $
+# $Cambridge: exim/src/Makefile,v 1.5 2008/02/14 13:49:35 fanf2 Exp $
# Top-level makefile for Exim; handles creating a build directory with
# appropriate links, and then creating and running the main makefile in that
# The default target checks for the existence of Local/Makefile, that the main
# makefile is built and up-to-date, and then it runs it.
-all: Local/Makefile configure go
+all: Local/Makefile configure
+ @cd build-$(buildname); $(MAKE) SHELL=$(SHELL) $(MFLAGS)
Local/Makefile:
@echo ""
@cd build-$(buildname); $(RM_COMMAND) -f Makefile; \
build=$(build) $(SHELL) ../scripts/Configure-Makefile
-# Go to the build directory and do the business
-
-go:; @cd build-$(buildname); $(MAKE) SHELL=$(SHELL) $(MFLAGS)
-
# The installation commands are kept in a separate script, which expects
# to be run from inside the build directory.
-# $Cambridge: exim/src/OS/Makefile-Base,v 1.14 2008/01/17 13:03:35 tom Exp $
+# $Cambridge: exim/src/OS/Makefile-Base,v 1.15 2008/02/14 13:49:35 fanf2 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
# The local scan module depends only on its own special header, and is compiled
# from a source whose location is set by configuration.
-local_scan.o: Makefile local_scan.h ../$(LOCAL_SCAN_SOURCE)
+local_scan.o: Makefile config.h local_scan.h ../$(LOCAL_SCAN_SOURCE)
@echo "$(CC) local_scan.c"
$(FE)$(CC) -c $(CFLAGS) -I. $(INCLUDE) -o local_scan.o ../$(LOCAL_SCAN_SOURCE)
../exim_monitor/`echo $@ | sed 's/o$$/c/'`
-# Targets for the various libraries that Exim uses. This coding is tedious,
-# because different versions of "make" behave in different ways with regard
-# to rebuilding. If these target names are of the form pcre/libpcre.a, for
-# example, then a forcing mechanism is required to get them obeyed each time.
-# That's fine on Solaris and other systems; the rebuilding of the exim target
-# happens only if the libraries are actually rebuilt. However, on IRIX, if
-# the target is forced, the exim target gets unnecessarily rebuilt even if
-# the .a file is not. Contrariwise, if we use dummy names, they don't interact
-# with the building of exim (and eximon.bin), but for libpcre Exim doesn't get
-# rebuilt when it should. (For the others it does, because they remove
-# drtables.o when they rebuild.) To get round this, we forcibly remove the
-# binary when it needs to be rebuilt.
+# Targets for the various libraries that Exim uses.
# The lookups library.
-buildlookups:
+buildlookups lookups/lookups.a: config.h
@cd lookups; $(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) $(LOOKUP_INCLUDE)"; \
# The routers library.
-buildrouters:
+buildrouters routers/routers.a: config.h
@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)"; \
# The transports library.
-buildtransports:
+buildtransports transports/transports.a: config.h
@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)"; \
# The library of authorization modules
-buildauths:
+buildauths auths/auths.a: config.h
@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)"; \
-# $Cambridge: exim/src/src/auths/Makefile,v 1.5 2006/10/16 15:44:36 ph10 Exp $
+# $Cambridge: exim/src/src/auths/Makefile,v 1.6 2008/02/14 13:49:35 fanf2 Exp $
# Make file for building a library containing all the available authorization
# methods, and calling it auths.a. In addition, there are functions that are
@echo "$(AR) auths.a"
$(FE)$(AR) auths.a $(OBJ)
$(RANLIB) $@
- @$(RM_COMMAND) -rf ../drtables.o
.SUFFIXES: .o .c
.c.o:; @echo "$(CC) $*.c"
-# $Cambridge: exim/src/src/lookups/Makefile,v 1.7 2007/09/28 12:21:57 tom Exp $
+# $Cambridge: exim/src/src/lookups/Makefile,v 1.8 2008/02/14 13:49:35 fanf2 Exp $
# Make file for building a library containing all the available lookups and
# calling it lookups.a. This is called from the main make file, after cd'ing
@echo "$(AR) lookups.a"
@$(AR) lookups.a $(OBJ)
$(RANLIB) $@
- @$(RM_COMMAND) -rf ../drtables.o
.SUFFIXES: .o .c
.c.o:; @echo "$(CC) $*.c"
-# $Cambridge: exim/src/src/routers/Makefile,v 1.3 2005/09/12 13:50:03 ph10 Exp $
+# $Cambridge: exim/src/src/routers/Makefile,v 1.4 2008/02/14 13:49:35 fanf2 Exp $
# Make file for building a library containing all the available routers and
# calling it routers.a. This is called from the main make file, after cd'ing
@echo "$(AR) routers.a"
@$(AR) routers.a $(OBJ)
$(RANLIB) $@
- @$(RM_COMMAND) -rf ../drtables.o
.SUFFIXES: .o .c
.c.o:; @echo "$(CC) $*.c"
-# $Cambridge: exim/src/src/transports/Makefile,v 1.3 2005/09/12 13:50:04 ph10 Exp $
+# $Cambridge: exim/src/src/transports/Makefile,v 1.4 2008/02/14 13:49:35 fanf2 Exp $
# Make file for building a library containing all the available transports and
# calling it transports.a. This is called from the main make file, after cd'ing
@echo "$(AR) transports.a"
@$(AR) transports.a $(OBJ)
$(RANLIB) $@
- @$(RM_COMMAND) -rf ../drtables.o
.SUFFIXES: .o .c
.c.o:; @echo "$(CC) $*.c"