diff --git a/Makefile b/Makefile index 7eb76d44ec56a71b025694b08af0952ad0be1069..3693ee88c33db6f47cee6f4fe4826d2710425a91 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.12 1999/06/06 16:01:43 mast Exp $ +# $Id: Makefile,v 1.13 1999/08/12 16:58:53 mast Exp $ # # Meta Makefile # @@ -32,19 +32,19 @@ force_configure: builddir: @builddir="$(BUILDDIR)"; \ - ( \ + { \ IFS='/'; dir=""; \ for d in $$builddir; do \ dir="$$dir$$d"; \ test -z "$$dir" -o -d "$$dir" || mkdir "$$dir" || exit 1; \ dir="$$dir/"; \ - done \ - ) + done; \ + } configure: src/configure builddir @builddir="$(BUILDDIR)"; \ srcdir=`pwd`/src; \ - cd "$$builddir" && ( \ + cd "$$builddir" && { \ if test -f .configureargs -a -z "$(CONFIGUREARGS)"; then \ configureargs="`cat .configureargs`"; \ else \ @@ -57,13 +57,13 @@ configure: src/configure builddir test "`cat .configureargs`" = "$$configureargs"; then :; \ else \ echo Running "$$srcdir"/configure $$configureargs in "$$builddir"; \ - CONFIG_SITE=x "$$srcdir"/configure $$configureargs && ( \ + CONFIG_SITE=x "$$srcdir"/configure $$configureargs && { \ echo "$$configureargs" > .configureargs; \ $(MAKE) "MAKE=$(MAKE)" clean > /dev/null; \ - : \ - ) \ - fi \ - ) + :; \ + } \ + fi; \ + } compile: configure @builddir="$(BUILDDIR)"; \ @@ -72,9 +72,14 @@ compile: configure cd "$$builddir" && for target in all $$metatarget; do \ echo Making $$target in "$$builddir"; \ rm -f remake; \ - $(MAKE) "MAKE=$(MAKE)" $$target || ( \ - test -f remake && $(MAKE) "MAKE=$(MAKE)" $$target \ - ) \ + $(MAKE) "MAKE=$(MAKE)" $$target || { \ + res=$$?; \ + if test -f remake; then \ + $(MAKE) "MAKE=$(MAKE)" $$target || exit $$?; \ + else \ + exit $$res; \ + fi; \ + } \ done bin/pike: force