forked from Imagelibrary/rtems
<corsepiu@faw.uni-ulm.de> which implements automake support for some score/cpu/<RTEMS_CPU> subdirectories and fixes a few minor configuration bugs. To apply: rm -rf c/src/exec/score/cpu/i960/wrap rm -rf c/src/exec/score/cpu/m68k/wrap rm -rf c/src/exec/score/cpu/sh/wrap rm -rf c/src/exec/score/cpu/sparc/wrap rm -rf c/src/exec/score/cpu/unix/wrap patch -p1 < rtems-rc-19991123-rc-1.diff ./bootstrap Known bugs: * "make debug|profile" in c/src/src/score/cpu/<RTEMS_CPU/Makefile does not handle recursion to subdirectories correctly (recurses too often). However, this issue is hardly visible and should be tolerable for the moment.
121 lines
3.2 KiB
INI
121 lines
3.2 KiB
INI
#
|
|
# $Id$
|
|
#
|
|
# make/leaf.cfg
|
|
#
|
|
# Make(1) configuration file include'd by all leaf-node Makefiles
|
|
#
|
|
|
|
#
|
|
# list of all known managers
|
|
# This list is used, along with $(MANAGERS) (set by app makefile)
|
|
# to build the list of *not wanted* drivers.
|
|
#
|
|
# ref: target compiler config file for usage
|
|
#
|
|
|
|
MANAGER_LIST=dpmem event io msg mp part region sem signal timer rtmon ext
|
|
|
|
# Convert *real* spellings in $(MANAGERS) (set
|
|
# in application makefile) to their "correct" name.
|
|
# (I hate abbreviations :-)
|
|
|
|
MANAGERS := $(patsubst message, msg, $(MANAGERS))
|
|
MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS))
|
|
MANAGERS := $(patsubst partition, part, $(MANAGERS))
|
|
MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS))
|
|
MANAGERS := $(patsubst semaphore, sem, $(MANAGERS))
|
|
MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS))
|
|
MANAGERS := $(patsubst extension, ext, $(MANAGERS))
|
|
|
|
# allow 'all' to mean all managers
|
|
MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
|
|
|
|
# and finally rip out duplicates
|
|
MANAGERS := $(sort $(MANAGERS))
|
|
|
|
# Pull in the desired "target" compiler
|
|
# Programs built on the host use automake generated rules.
|
|
# This will not change $(ARCH) -- binaries will still be place as per target
|
|
include ${CONFIG.CC}
|
|
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
|
include ${DEPEND} # pull in dependencies if they exist
|
|
endif
|
|
|
|
#
|
|
# Builtin targets for compilation variants
|
|
#
|
|
debug:
|
|
$(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=o-debug" \
|
|
"CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
|
|
"CFLAGS_OPTIMIZE=$(CFLAGS_DEBUG_OPTIMIZE_V)" \
|
|
"LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
|
|
|
|
profile:
|
|
$(MAKE) -f $(MAKEFILE) \
|
|
MAKEFILE=$(MAKEFILE) "ARCH=o-profile" \
|
|
"CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \
|
|
"LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA)
|
|
|
|
#
|
|
# VARIANT_VA will convert our ${ARCH} back into "" or "debug" or "profile".
|
|
# Handy when one makefile wants to hop over into a peer's tree and
|
|
# build something "the same" way.
|
|
#
|
|
|
|
VARIANT-o-optimize-v =
|
|
VARIANT-o-debug-v = debug
|
|
VARIANT-o-profile-v = profile
|
|
|
|
VARIANT_VA = $(VARIANT-$(ARCH)-v)
|
|
|
|
#
|
|
# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.)
|
|
# into "" or "install" as appropriate.
|
|
# Used for variant recursion.
|
|
#
|
|
|
|
TARGET_debug_V = all
|
|
TARGET_profile_V = all
|
|
|
|
TARGET_VA = $(TARGET_$@_V)
|
|
|
|
#
|
|
# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
|
|
# convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile.
|
|
# Useful for installing libraries.
|
|
#
|
|
|
|
LIBSUFFIX_o-optimize_V=
|
|
LIBSUFFIX_o-debug_V=_g
|
|
LIBSUFFIX_o-profile_V=_p
|
|
|
|
LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
|
|
LIBSUFFIX_VA = $(LIB_VARIANT).a
|
|
|
|
#
|
|
# 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-am: clean-generic
|
|
-$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
|
|
-$(RM) -r $(VARIANTS)
|
|
|
|
distclean-am: distclean-generic clean-am
|
|
-$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
|
|
|
|
preinstall-am:
|
|
preinstall: preinstall-am
|
|
|
|
ifndef AUTOMAKE
|
|
distclean: distclean-am
|
|
-$(RM) ./config.status
|
|
|
|
clean: clean-am
|
|
endif
|
|
|
|
.PHONY: distclean distclean-am
|
|
.PHONY: clean clean-am
|