path: root/make/directory.cfg
diff options
authorJoel Sherrill <>1999-07-26 21:26:44 +0000
committerJoel Sherrill <>1999-07-26 21:26:44 +0000
commit29e68b75843aa889a15ca8dcfff1cd30fea9e963 (patch)
tree21c6b34565dc7c7e0a7125f0ec71a42b0a3a142c /make/directory.cfg
parent08b5f55b6fd9c12c91a4d99219723b88e6c860d5 (diff)
Patch from Ralf Corsepius <>:
This patch is an addition to "The big-patch" CHANGES: * FIX: c/ bogus comment which changed the behavior of c/ removed * FIX: make/custom/ts_i386ex.cfg did not set HAS_NETWORKING correctly (Me thinks it might have been me who added this bogus setting :-). * NEW: removing make targets get, protos, debug_install, profile_install * NEW: replacing clobber with distclean * NEW: Reimplement distclean and clean as reverse depth first make targets (adaptation to automake's behavior) * NEW: removing RCS_CLEAN from make distclean (tools/build/rcs_clean is still in - remove it?) * NEW: "$(RM) Makefile" added to make distclean (adaptation to automake's behavior) * NEW: "$(RM) config.cache config.log" to CLOBBER_ADDITIONS in [lib|exec|tests]/ (adaptation to automake's behavior) * NEW: "$(CLEAN_PROTOS)" removed (Not used anywhere) * NEW: binpatch.c moved from i386 bsp tools to tools/build (AFAIS, binpatch is not specific to the pc386 BSP at all) * NEW: AC_EXEEXT added to all configure scripts which contain AC_PROG_CC (Cygwin support) * NEW/Experimental: An experimental implementation of temporary installation tree support in libbsp/i386/pc386/tools/, based on dependency tracking with make, instead of applying INSTALL_CHANGE. REMARK: * This patch is small in size, but changes the behavior of "make clean|distclean|clobber" basically. * This patch does not alter building/compiling RTEMS, ie. there should be no need to rerun all "make all" building tests. KNOWN BUGS: * make RTEMS_BSP="..." distclean in c/ runs "make distclean" in BSPs subdirectories passed through RTEMS_BSP and in "c/." only, but does not descend into other BSP subdirectories previously configured with different settings of make RTEMS_BSP="...". => Workaround: always use the same setting of RTEMS_BSP when working inside the build-tree. * "make [distclean|clean]" do not clean subdirectories, which have been configured at configuration time, but which are not used due to make-time configuration (e.g. macros/networking/rdgb subdirectories). This will problem will vanish by itself when migrating from make-time to configuration-time configuration APPLYING THE PATCH mv c/src/lib/libbsp/i386/pc386/tools/binpatch.c tools/build patch -p1 < rtems-rc-19990709-2.diff autogen
Diffstat (limited to 'make/directory.cfg')
1 files changed, 35 insertions, 0 deletions
diff --git a/make/directory.cfg b/make/directory.cfg
index 056e9fa55e..c3efc38bf0 100644
--- a/make/directory.cfg
+++ b/make/directory.cfg
@@ -21,5 +21,40 @@ $(RECURSE_TARGETS):
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
+# mostlyclean-recursive maintainer-clean-recursive:
+clean-recursive \
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUB_DIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+clean-am: clean-generic
+distclean-am: distclean-generic clean-am
preinstall: preinstall-recursive
.PHONY: preinstall preinstall-am preinstall-recursive
+distclean: distclean-recursive
+ -$(RM) config.status
+.PHONY: distclean distclean-am distclean-recursive
+clean: clean-recursive
+.PHONY: clean clean-am clean-recursive