mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-26 14:18:20 +00:00
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
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
This commit is contained in:
@@ -328,12 +328,9 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
depend-recursive \
|
||||
clobber-recursive \
|
||||
preinstall-recursive \
|
||||
debug-recursive \
|
||||
debug_install-recursive \
|
||||
profile-recursive \
|
||||
profile_install-recursive:
|
||||
profile-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
@@ -355,21 +352,12 @@ profile_install-recursive:
|
||||
debug: debug-recursive
|
||||
.PHONY: debug-recursive
|
||||
|
||||
debug_install: debug_install-recursive
|
||||
.PHONY: debug_install-recursive
|
||||
|
||||
profile: profile-recursive
|
||||
.PHONY: profile-recursive
|
||||
|
||||
profile_install: profile_install-recursive
|
||||
.PHONY: profile-recursive
|
||||
|
||||
preinstall: preinstall-recursive
|
||||
.PHONY: preinstall-recursive
|
||||
|
||||
clobber: clobber-recursive
|
||||
.PHONY: clobber-recursive
|
||||
|
||||
depend: depend-recursive
|
||||
.PHONY: depend-recursive
|
||||
|
||||
@@ -377,26 +365,14 @@ debug-am:
|
||||
debug: debug-am
|
||||
.PHONY: debug debug-am
|
||||
|
||||
debug_install-am:
|
||||
debug_install: debug_install-am
|
||||
.PHONY: debug_install debug_install-am
|
||||
|
||||
profile-am:
|
||||
profile: profile-am
|
||||
.PHONY: profile profile-am
|
||||
|
||||
profile_install-am:
|
||||
profile_install: profile_install-am
|
||||
.PHONY: profile_install profile_install-am
|
||||
|
||||
preinstall-am:
|
||||
preinstall: preinstall-am
|
||||
.PHONY: preinstall preinstall-am
|
||||
|
||||
clobber-am:
|
||||
clobber: clobber-am
|
||||
.PHONY: clobber clobber-am
|
||||
|
||||
depend-am:
|
||||
depend: depend-am
|
||||
.PHONY: depend depend-am
|
||||
|
||||
@@ -116,17 +116,14 @@
|
||||
CFLAGS and/or LDFLAGS are modified as per the compiler config file for
|
||||
debug and profile support.
|
||||
|
||||
Targets debug_install and profile_install are equivalent to 'make
|
||||
install' except that debug (or profile) variants are built and
|
||||
installed.
|
||||
|
||||
The targets debug, profile, debug_install, profile_install, etc., can be
|
||||
The targets debug, profile, etc., can be
|
||||
invoked recursively at the directory make level. So from the top of a
|
||||
tree, one could install a debug version of everything under that point
|
||||
by:
|
||||
|
||||
$ cd src/lib
|
||||
$ gmake debug_install
|
||||
$ gmake debug
|
||||
$ gmake install
|
||||
|
||||
When building a command that is linked with a generated library, the
|
||||
appropriate version of the library will be linked in.
|
||||
|
||||
@@ -196,26 +196,14 @@ debug-am:
|
||||
debug: debug-am
|
||||
.PHONY: debug debug-am
|
||||
|
||||
debug_install-am:
|
||||
debug_install: debug_install-am
|
||||
.PHONY: debug_install debug_install-am
|
||||
|
||||
profile-am:
|
||||
profile: profile-am
|
||||
.PHONY: profile profile-am
|
||||
|
||||
profile_install-am:
|
||||
profile_install: profile_install-am
|
||||
.PHONY: profile_install profile_install-am
|
||||
|
||||
preinstall-am:
|
||||
preinstall: preinstall-am
|
||||
.PHONY: preinstall preinstall-am
|
||||
|
||||
clobber-am:
|
||||
clobber: clobber-am
|
||||
.PHONY: clobber clobber-am
|
||||
|
||||
depend-am:
|
||||
depend: depend-am
|
||||
.PHONY: depend depend-am
|
||||
|
||||
@@ -196,26 +196,14 @@ debug-am:
|
||||
debug: debug-am
|
||||
.PHONY: debug debug-am
|
||||
|
||||
debug_install-am:
|
||||
debug_install: debug_install-am
|
||||
.PHONY: debug_install debug_install-am
|
||||
|
||||
profile-am:
|
||||
profile: profile-am
|
||||
.PHONY: profile profile-am
|
||||
|
||||
profile_install-am:
|
||||
profile_install: profile_install-am
|
||||
.PHONY: profile_install profile_install-am
|
||||
|
||||
preinstall-am:
|
||||
preinstall: preinstall-am
|
||||
.PHONY: preinstall preinstall-am
|
||||
|
||||
clobber-am:
|
||||
clobber: clobber-am
|
||||
.PHONY: clobber clobber-am
|
||||
|
||||
depend-am:
|
||||
depend: depend-am
|
||||
.PHONY: depend depend-am
|
||||
|
||||
@@ -224,26 +224,14 @@ debug-am:
|
||||
debug: debug-am
|
||||
.PHONY: debug debug-am
|
||||
|
||||
debug_install-am:
|
||||
debug_install: debug_install-am
|
||||
.PHONY: debug_install debug_install-am
|
||||
|
||||
profile-am:
|
||||
profile: profile-am
|
||||
.PHONY: profile profile-am
|
||||
|
||||
profile_install-am:
|
||||
profile_install: profile_install-am
|
||||
.PHONY: profile_install profile_install-am
|
||||
|
||||
preinstall-am:
|
||||
preinstall: preinstall-am
|
||||
.PHONY: preinstall preinstall-am
|
||||
|
||||
clobber-am:
|
||||
clobber: clobber-am
|
||||
.PHONY: clobber clobber-am
|
||||
|
||||
depend-am:
|
||||
depend: depend-am
|
||||
.PHONY: depend depend-am
|
||||
|
||||
@@ -23,10 +23,6 @@ CPU_CFLAGS =-msoft-float -mno-fp-ret-in-387
|
||||
# -fomit-frame-pointer breaks debugging and C++ exceptions
|
||||
CFLAGS_OPTIMIZE_V=-O4
|
||||
|
||||
# This target does support the TCP/IP stack so honour requests
|
||||
# to enable it.
|
||||
HAS_NETWORKING=yes
|
||||
|
||||
# This BSP does not support librdbg
|
||||
HAS_RDBG=no
|
||||
|
||||
|
||||
@@ -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 \
|
||||
distclean-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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -57,17 +57,26 @@ VARIANTS=${TARGET_ARCH} ${TARGET_VARIANTS:%=${TARGET_ARCH}-%}
|
||||
# List of "recursion-able" targets for directory Makefiles
|
||||
#
|
||||
|
||||
RECURSE_TARGETS=all clean protos get clobber depend install \
|
||||
RECURSE_TARGETS=all depend install \
|
||||
preinstall-recursive \
|
||||
$(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_install)
|
||||
$(TARGET_VARIANTS)
|
||||
|
||||
${ARCH}:
|
||||
test -d ${ARCH} || mkdir ${ARCH}
|
||||
|
||||
|
||||
# general purpose forcing dependency; try to use .PHONY instead
|
||||
FORCEIT:
|
||||
|
||||
FORCE:
|
||||
|
||||
.PHONY: $(RECURSE_TARGETS)
|
||||
distclean-generic:
|
||||
-$(RM) Makefile .#* $(CONFIG_CLEAN_FILES)
|
||||
-$(RM) -r $(CLOBBER_ADDITIONS)
|
||||
|
||||
clean-generic:
|
||||
-$(RM) a.out core mon.out gmon.out
|
||||
-$(RM) -r $(CLEAN_ADDITIONS)
|
||||
|
||||
.PHONY: $(RECURSE_TARGETS)
|
||||
.PHONY: clean-generic
|
||||
.PHONY: distclean-generic
|
||||
|
||||
Reference in New Issue
Block a user