Fix build process so that subdir failures cause actual failure, even when CFLAGS...
authorNelson Ferreira <nelson.ferreira@ieee.org>
Tue, 31 Jul 2012 02:49:52 +0000 (22:49 -0400)
committerNelson Ferreira <nelson.ferreira@ieee.org>
Tue, 31 Jul 2012 02:49:52 +0000 (22:49 -0400)
* Makefile.am (beta): Use -w MAKEFLAGS instead of RECURSIVE_MAKE_ARGS
* Makefile.am (time-beta): Ditto.
* Makefile.am (time-all): Ditto.
* Makefile.am (time-check): Ditto.
* Makefile.am (build-report): Ditto.
* Makefile.am (time-build-report): Ditto.
* PROBLEMS:  Add explanation for failure.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Makefile.am
PROBLEMS

index 17df975..8f04c9d 100644 (file)
@@ -113,8 +113,8 @@ $(ETAGS):
 .PHONY: stage1 stage2 build-report time-build-report time-check beta
 ## Convenience target for SXEmacs beta testers
 beta:
-       $(MAKE) $(RECURSIVE_MAKE_ARGS) clean
-       $(MAKE) $(RECURSIVE_MAKE_ARGS) all
+       $(MAKE) -w $(MAKEFLAGS) clean
+       $(MAKE) -w $(MAKEFLAGS) all
        @ touch ,,build.done
 
 ## Convenience target for SXEmacs build reporters
@@ -134,23 +134,23 @@ env-report:
        echo RECURSIVE_MAKE_ARGS="${RECURSIVE_MAKE_ARGS}"  ) | tee -a ,,vars.out
 
 time-beta:
-       (time $(MAKE) $(RECURSIVE_MAKE_ARGS) beta )2>&1 | tee ,,beta.out
+       (time $(MAKE) -w $(MAKEFLAGS) beta )2>&1 | tee ,,beta.out
 
 time-all:
-       time $(MAKE) $(RECURSIVE_MAKE_ARGS) all
+       time $(MAKE) -w $(MAKEFLAGS) all
 
 time-check:
-       (time $(MAKE) $(RECURSIVE_MAKE_ARGS) check ) 2>&1 | tee ,,make-check.out
+       (time $(MAKE) -w $(MAKEFLAGS) check ) 2>&1 | tee ,,make-check.out
 
 build-report: env-report
-       $(MAKE) $(RECURSIVE_MAKE_ARGS) beta 2>&1 | tee ,,beta.out
+       $(MAKE) -w $(MAKEFLAGS) beta 2>&1 | tee ,,beta.out
        @ [ -f ,,build.done ] || exit 1
-       $(MAKE) $(RECURSIVE_MAKE_ARGS) check 2>&1 | tee ,,make-check.out
+       $(MAKE) -w $(MAKEFLAGS) check 2>&1 | tee ,,make-check.out
 
 time-build-report: env-report
-       (time $(MAKE) $(RECURSIVE_MAKE_ARGS) beta ) 2>&1 | tee ,,beta.out
+       (time $(MAKE) -w $(MAKEFLAGS) beta ) 2>&1 | tee ,,beta.out
        @ [ -f ,,build.done ] || exit 1
-       (time $(MAKE) $(RECURSIVE_MAKE_ARGS) check ) 2>&1 | tee ,,make-check.out
+       (time $(MAKE) -w $(MAKEFLAGS) check ) 2>&1 | tee ,,make-check.out
 
 stage1:
        @echo
index 8862be1..8e5d09e 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -348,6 +348,18 @@ configure... you MUST set $CONFIG_SHELL
 
             CONFIG_SHELL=/bin/bash ../configure [opts]
 
+
+** make does not stop on subdirectory build failure
+
+Due to a bug in the make argument parsing in code generated by
+autoconf it is possible for make not to stop when a subdirectory fails.
+
+This failure occurs for instance when the make command line has a variable
+assignment which has a value with a - and k. Example:
+
+make CFLAGS="-Wall -fpacked -fpedantic" build-report
+
+
 * XEmacs Packages
 =================
 
@@ -437,4 +449,4 @@ you have taglib installed.  Use the included ffi-taglib.el.
 
 The original XEmacs PROBLEMS file may be found in the SXEmacs 
 source distribution as PROBLEMS.XEmacs - while many issues mentioned
-have since been fixed, it is preserved for posterity. 
\ No newline at end of file
+have since been fixed, it is preserved for posterity.