fielding 01/05/17 16:21:58
Modified: build rules.mk.in
Log:
We don't want a make *clean to stop just because one of the subdirs
has already been cleaned. Separating the recursive clean rules from
the recursive build rules allows us to make that distinction.
Revision Changes Path
1.12 +25 -8 apr-util/build/rules.mk.in
Index: rules.mk.in
===================================================================
RCS file: /home/cvs/apr-util/build/rules.mk.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- rules.mk.in 2001/05/12 03:44:18 1.11
+++ rules.mk.in 2001/05/17 23:21:58 1.12
@@ -98,13 +98,9 @@
install: all-recursive
-all-recursive depend-recursive clean-recursive distclean-recursive \
- extraclean-recursive:
+all-recursive depend-recursive:
@otarget=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; \
- case $$otarget in *clean) \
- list='$(SUBDIRS) $(CLEAN_SUBDIRS)';; \
- esac; \
for i in $$list; do \
if test -d "$$i"; then \
target="$$otarget"; \
@@ -116,11 +112,32 @@
(cd $$i && $(MAKE) $$target) || exit 1; \
fi; \
done; \
- if test "$$otarget" = "all" && test -z "$(TARGETS)"; then \
- made_local=n/a; \
+ if test "$$otarget" = "all" && test -z "$(TARGETS)"; then \
+ made_local=yes; \
fi; \
- if test -z "$$made_local"; then \
+ if test "$$made_local" != "yes"; then \
$(MAKE) "local-$$otarget" || exit 1; \
+ fi
+
+clean-recursive distclean-recursive extraclean-recursive:
+ @otarget=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS) $(CLEAN_SUBDIRS)'; \
+ for i in $$list; do \
+ if test -d "$$i"; then \
+ target="$$otarget"; \
+ echo "Making $$target in $$i"; \
+ if test "$$i" = "."; then \
+ made_local=yes; \
+ target="local-$$target"; \
+ fi; \
+ (cd $$i && $(MAKE) $$target); \
+ fi; \
+ done; \
+ if test "$$otarget" = "all" && test -z "$(TARGETS)"; then \
+ made_local=yes; \
+ fi; \
+ if test "$$made_local" != "yes"; then \
+ $(MAKE) "local-$$otarget"; \
fi
local-clean: