* platforms/linux.make (platform-check): Make more robust.
authorRaja R Harinath <harinath@hurrynot.org>
Thu, 4 Nov 2004 10:51:39 +0000 (10:51 -0000)
committerRaja R Harinath <harinath@hurrynot.org>
Thu, 4 Nov 2004 10:51:39 +0000 (10:51 -0000)
* rules.make (%-recursive): Propagate error exit from sub-makes
even if invoked with 'make -k'.

svn path=/trunk/mcs/; revision=35625

mcs/build/ChangeLog
mcs/build/platforms/linux.make
mcs/build/rules.make

index 1207e1002119499799e606484b4ca1f9be13bccc..17ae6b7530282499544580532a5b3db6d8a94b7c 100644 (file)
@@ -1,3 +1,9 @@
+2004-11-04  Raja R Harinath  <rharinath@novell.com>
+
+       * platforms/linux.make (platform-check): Make more robust.
+       * rules.make (%-recursive): Propagate error exit from sub-makes
+       even if invoked with 'make -k'.
+
 2004-10-29  Raja R Harinath  <rharinath@novell.com>
 
        * profiles/net_2_0_bootstrap.make (PROFILE_MCS_FLAGS): Remove
index 9d3930e99bd0c53652718a204bc40488a02db28e..7a03aa48a86db31791e64b6386a3d4b907e678b8 100644 (file)
@@ -23,7 +23,8 @@ hidden_prefix = .
 hidden_suffix = 
 
 platform-check:
-       @set fnord $(BOOTSTRAP_MCS) ; if type $$2 >/dev/null 2>&1 ; then :; else \
+       @set fnord $(BOOTSTRAP_MCS) ; while test "$$#" > 2; do case $$2 in *=*) shift ;; *) break ;; esac done ; \
+       if type $$2 >/dev/null 2>&1 ; then :; else \
            echo "*** You need a C# compiler installed to build MCS. (make sure mcs works from the command line)" ; \
            echo "*** Read INSTALL.txt for information on how to bootstrap" ; \
            echo "*** a Mono installation." ; \
index 6c0d1a8e6582479c97b183c673b3d651a1a59747..a76d29220c66b2241458b2c8c462e546068401f8 100644 (file)
@@ -118,12 +118,13 @@ PROFILE_SUBDIRS = $(SUBDIRS)
 endif
 
 %-recursive:
-       @set . $$MAKEFLAGS; \
+       @set . $$MAKEFLAGS; final_exit=:; \
        case $$2 in --unix) shift ;; esac; \
        case $$2 in *=*) dk="exit 1" ;; *k*) dk=: ;; *) dk="exit 1" ;; esac; \
        list='$(PROFILE_SUBDIRS)'; for d in $$list ; do \
-           (cd $$d && $(MAKE) $*) || $$dk ; \
-       done
+           (cd $$d && $(MAKE) $*) || { final_exit="exit 1"; $$dk; } ; \
+       done; \
+       $$final_exit
 
 ifndef DIST_SUBDIRS
 DIST_SUBDIRS = $(SUBDIRS) $(DIST_ONLY_SUBDIRS)