From 29e68b75843aa889a15ca8dcfff1cd30fea9e963 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 26 Jul 1999 21:26:44 +0000 Subject: Patch from Ralf Corsepius : This patch is an addition to "The big-patch" CHANGES: * FIX: c/Makefile.am: bogus comment which changed the behavior of c/Makefile.am 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]/Makefile.in (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/Makefile.am, 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 --- make/leaf.cfg | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'make/leaf.cfg') diff --git a/make/leaf.cfg b/make/leaf.cfg index 0dba22970e..0106dc19ce 100644 --- a/make/leaf.cfg +++ b/make/leaf.cfg @@ -55,13 +55,13 @@ endif # # Builtin targets for compilation variants # -debug debug_install: +debug: $(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-debug" \ "CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \ "CFLAGS_OPTIMIZE=$(CFLAGS_DEBUG_OPTIMIZE_V)" \ "LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA) -profile profile_install: +profile: $(MAKE) -f $(MAKEFILE) \ MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-profile" \ "CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \ @@ -80,8 +80,7 @@ VARIANT-$(TARGET_ARCH)-profile-v = profile VARIANT_VA = $(VARIANT-$(ARCH)-v) # -# TARGET_VA will convert $@ (expected to be 'debug' or -# 'debug_install' or 'profile' etc.) +# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.) # into "" or "install" as appropriate. # Used for variant recursion. # @@ -89,9 +88,6 @@ VARIANT_VA = $(VARIANT-$(ARCH)-v) TARGET_debug_V = all TARGET_profile_V = all -TARGET_debug_install_V = install -TARGET_profile_install_V = install - TARGET_VA = $(TARGET_$@_V) # @@ -107,24 +103,26 @@ LIBSUFFIX_$(TARGET_ARCH)-profile_V=_p LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V) LIBSUFFIX_VA = $(LIB_VARIANT).a -get: $(SRCS) $(GET_ADDITIONS) - # -# Builtin clean and clobber rules +# Builtin clean and distclean rules # Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS # If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc. # -clean: - $(RM) -r a.out core mon.out gmon.out $(CLEAN_OS) $(CLEAN_CC) - $(RM) -r $(CLEAN_PROTO) $(CLEAN_DEPEND) a.out - $(RM) -r $(VARIANTS) $(CLEAN_ADDITIONS) $(IMPORT_SOURCE) +clean-am: clean-generic + -$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND) + -$(RM) -r $(VARIANTS) +# -$(RM) -r $(IMPORT_SOURCE) -clobber: clean - -$(RCS_CLEAN) - $(RM) .#* - $(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND) - $(RM) -r $(CLOBBER_ADDITIONS) a.out +distclean-am: distclean-generic clean-am + -$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND) preinstall-am: preinstall: preinstall-am + +distclean: distclean-am + -$(RM) config.status +clean: clean-am + +.PHONY: distclean distclean-am +.PHONY: clean clean-am -- cgit v1.2.3