* aclocal.m4 (SubdirLibRule): don't recreate DONE if list of objs
authorTom Yu <tlyu@mit.edu>
Sun, 2 Jul 1995 10:50:04 +0000 (10:50 +0000)
committerTom Yu <tlyu@mit.edu>
Sun, 2 Jul 1995 10:50:04 +0000 (10:50 +0000)
is null to avoid re-making lotsa stuff.
(_MAKE_SUBDIRS): really gross sh hack for subdir
recursion; make -[ik] should dtrt now even with broken
makes (like Ultrix) that do sh -ce "rule".  Basically,
throw an "if" test around the recursion line so that even
if the -e option to sh is set by make, an error in a
subdir below won't cause for loop to exit unless we want
it to.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6218 dc483132-0cff-0310-8789-dd5450dbe970

src/ChangeLog
src/aclocal.m4

index 8a948d93708d6fe15f47b8cf425dbabc3137216b..5dd55e4ce35db6149765bd8ab58d06f11c8658ab 100644 (file)
@@ -1,3 +1,14 @@
+Sun Jul  2 04:40:50 1995  Tom Yu  <tlyu@lothlorien.MIT.EDU>
+
+       * aclocal.m4 (SubdirLibRule): don't recreate DONE if list of objs
+               is null to avoid re-making lotsa stuff.
+               (_MAKE_SUBDIRS): really gross sh hack for subdir
+               recursion; make -[ik] should dtrt now even with broken
+               makes (like Ultrix) that do sh -ce "rule".  Basically,
+               throw an "if" test around the recursion line so that even
+               if the -e option to sh is set by make, an error in a
+               subdir below won't cause for loop to exit unless we want
+               it to.
 
 Fri Jun 30 14:26:01 EDT 1995   Paul Park       (pjpark@mit.edu)
        * aclocal.m4(V5_SHARED_LIB_OBJS) - Change explicit $(srcdir)/$*.c to
index 6fee5f22a5f199fae51216e0eaba2ea26f2920ef..24f16a08d15cbd3970c1b47e2b43ac07b5d7d44b 100644 (file)
@@ -86,11 +86,12 @@ changequote(<<<,>>>)dnl
 
 $2::<<<
        @case "`echo '$(MAKEFLAGS)'|sed -e 's/ --.*$$//'`" in \
-               *[ik]*) set +e;; *) set -e;; esac; \
+               *[ik]*) e=:;; *) e=break;; esac; \
        for i in $(SUBDIRS) ; do \
-               (cd $$i ; echo>>> $1 <<<"in $(CURRENT_DIR)$$i..."; \
+               if (cd $$i ; echo>>> $1 <<<"in $(CURRENT_DIR)$$i..."; \
                        $(MAKE) CC="$(CC)" CCOPTS="$(CCOPTS)" \
-                       CURRENT_DIR=$(CURRENT_DIR)$$i/ >>>$3<<<) \
+                       CURRENT_DIR=$(CURRENT_DIR)$$i/ >>>$3<<<) then :; \
+               else $$e; fi; \
        done>>>
 changequote([,])dnl
 AC_POP_MAKEFILE()dnl
@@ -486,7 +487,10 @@ AC_PUSH_MAKEFILE()dnl
 all:: DONE
 
 DONE:: $1
-       echo $1 > [$]@
+       @if test x'$1' = x && test -r [$]@; then :;\
+       else \
+               (set -x; echo $1 > [$]@) \
+       fi
 
 clean::
        $(RM) DONE