From 7f2a2a43f103bf22970a2b87ad8106f1a57b3d57 Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sat, 27 Aug 2011 16:10:52 -0700 Subject: [PATCH] Stop build process more reliably on failure. Patch from Heiko Schlittermann. Fixes bug 1087 --- doc/doc-txt/ChangeLog | 10 ++++++---- src/Makefile | 3 ++- src/OS/Makefile-Base | 30 +++++++++++++++--------------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6181dd2d2..d6891794d 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -88,8 +88,8 @@ TF/06 Removed a few PCRE remnants. TF/07 Automatically extract Exim's version number from tags in the git repository when doing development or release builds. -PP/02 Raise smtp_cmd_buffer_size to 16kB. Patch from Paul Fisher. - Bugzilla 879. +PP/02 Raise smtp_cmd_buffer_size to 16kB. + Bugzilla 879. Patch from Paul Fisher. PP/03 Implement SSL-on-connect outbound with protocol=smtps on smtp transport. Heavily based on revision 40f9a89a from Simon Arlott's tree. @@ -98,8 +98,10 @@ PP/03 Implement SSL-on-connect outbound with protocol=smtps on smtp transport. PP/04 Use .dylib instead of .so for dynamic library loading on MacOS. PP/05 Variable $av_failed, true if the AV scanner deferred. - Patch from John Horne. - Bugzilla 1078. + Bugzilla 1078. Patch from John Horne. + +PP/06 Stop make process more reliably on build failure. + Bugzilla 1087. Patch from Heiko Schlittermann. Exim version 4.76 diff --git a/src/Makefile b/src/Makefile index 76234e9a5..4c8300ca7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -66,7 +66,8 @@ makefile: build-directory # The installation commands are kept in a separate script, which expects # to be run from inside the build directory. -install:; @cd build-$(buildname); \ +install: all + @cd build-$(buildname); \ build=$(build) $(SHELL) ../scripts/exim_install $(INSTALL_ARG) # Tidy-up targets diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base index 9723c60cc..deb0e44f1 100644 --- a/src/OS/Makefile-Base +++ b/src/OS/Makefile-Base @@ -639,43 +639,43 @@ $(MONBIN): $(HDRS) # The lookups library. buildlookups lookups/lookups.a: config.h version.h - @cd lookups; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \ + @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)" \ - INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE) $(LOOKUP_INCLUDE)"; \ - echo " " + INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE) $(LOOKUP_INCLUDE)" + @echo " " # The routers library. buildrouters routers/routers.a: config.h - @cd routers; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \ + @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)"; \ - echo " " + INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)" + @echo " " # The transports library. buildtransports transports/transports.a: config.h - @cd transports; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \ + @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)"; \ - echo " " + INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)" + @echo " " # The library of authorization modules buildauths auths/auths.a: config.h - @cd auths; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \ + @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)"; \ - echo " " + INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)" + @echo " " # The PDKIM library buildpdkim pdkim/pdkim.a: config.h - @cd pdkim; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS)" \ + @cd pdkim && $(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)"; \ - echo " " + INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)" + @echo " " # The "clean", "install", and "makefile" targets just pass themselves back to # the main Exim makefile. These targets will be obeyed only if "make" is obeyed -- 2.25.1