#
|
#
|
# $Id: leaf.cfg,v 1.2 2001-09-27 12:02:50 chris Exp $
|
# $Id: leaf.cfg,v 1.2 2001-09-27 12:02:50 chris Exp $
|
#
|
#
|
# make/leaf.cfg
|
# make/leaf.cfg
|
#
|
#
|
# Make(1) configuration file include'd by all leaf-node Makefiles
|
# Make(1) configuration file include'd by all leaf-node Makefiles
|
#
|
#
|
|
|
#
|
#
|
# list of all known managers
|
# list of all known managers
|
# This list is used, along with $(MANAGERS) (set by app makefile)
|
# This list is used, along with $(MANAGERS) (set by app makefile)
|
# to build the list of *not wanted* drivers.
|
# to build the list of *not wanted* drivers.
|
#
|
#
|
# ref: target compiler config file for usage
|
# ref: target compiler config file for usage
|
#
|
#
|
|
|
MANAGER_LIST=dpmem event io msg mp part region sem signal timer rtmon ext
|
MANAGER_LIST=dpmem event io msg mp part region sem signal timer rtmon ext
|
|
|
# Convert *real* spellings in $(MANAGERS) (set
|
# Convert *real* spellings in $(MANAGERS) (set
|
# in application makefile) to their "correct" name.
|
# in application makefile) to their "correct" name.
|
# (I hate abbreviations :-)
|
# (I hate abbreviations :-)
|
|
|
MANAGERS := $(patsubst message, msg, $(MANAGERS))
|
MANAGERS := $(patsubst message, msg, $(MANAGERS))
|
MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS))
|
MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS))
|
MANAGERS := $(patsubst partition, part, $(MANAGERS))
|
MANAGERS := $(patsubst partition, part, $(MANAGERS))
|
MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS))
|
MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS))
|
MANAGERS := $(patsubst semaphore, sem, $(MANAGERS))
|
MANAGERS := $(patsubst semaphore, sem, $(MANAGERS))
|
MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS))
|
MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS))
|
MANAGERS := $(patsubst extension, ext, $(MANAGERS))
|
MANAGERS := $(patsubst extension, ext, $(MANAGERS))
|
|
|
# allow 'all' to mean all managers
|
# allow 'all' to mean all managers
|
MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
|
MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
|
|
|
# and finally rip out duplicates
|
# and finally rip out duplicates
|
MANAGERS := $(sort $(MANAGERS))
|
MANAGERS := $(sort $(MANAGERS))
|
|
|
# Pull in the desired "target" compiler
|
# Pull in the desired "target" compiler
|
# Programs built on the host use automake generated rules.
|
# Programs built on the host use automake generated rules.
|
# This will not change $(ARCH) -- binaries will still be place as per target
|
# This will not change $(ARCH) -- binaries will still be place as per target
|
include ${CONFIG.CC}
|
include ${CONFIG.CC}
|
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
include ${DEPEND} # pull in dependencies if they exist
|
include ${DEPEND} # pull in dependencies if they exist
|
endif
|
endif
|
|
|
ifndef AUTOMAKE
|
ifndef AUTOMAKE
|
#
|
#
|
# Builtin targets for compilation variants
|
# Builtin targets for compilation variants
|
#
|
#
|
debug:
|
debug:
|
$(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=o-debug" \
|
$(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=o-debug" \
|
"CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
|
"CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
|
"CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V)" \
|
"CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V)" \
|
"LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
|
"LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
|
|
|
profile:
|
profile:
|
$(MAKE) -f $(MAKEFILE) \
|
$(MAKE) -f $(MAKEFILE) \
|
MAKEFILE=$(MAKEFILE) "ARCH=o-profile" \
|
MAKEFILE=$(MAKEFILE) "ARCH=o-profile" \
|
"CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \
|
"CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \
|
"LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA)
|
"LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA)
|
endif
|
endif
|
|
|
#
|
#
|
# VARIANT_VA will convert our ${ARCH} back into "" or "debug" or "profile".
|
# 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
|
# Handy when one makefile wants to hop over into a peer's tree and
|
# build something "the same" way.
|
# build something "the same" way.
|
#
|
#
|
|
|
VARIANT-o-optimize-v =
|
VARIANT-o-optimize-v =
|
VARIANT-o-debug-v = debug
|
VARIANT-o-debug-v = debug
|
VARIANT-o-profile-v = profile
|
VARIANT-o-profile-v = profile
|
|
|
VARIANT_VA = $(VARIANT-$(ARCH)-v)
|
VARIANT_VA = $(VARIANT-$(ARCH)-v)
|
|
|
#
|
#
|
# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.)
|
# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.)
|
# into "" or "install" as appropriate.
|
# into "" or "install" as appropriate.
|
# Used for variant recursion.
|
# Used for variant recursion.
|
#
|
#
|
|
|
TARGET_debug_V = all
|
TARGET_debug_V = all
|
TARGET_profile_V = all
|
TARGET_profile_V = all
|
|
|
TARGET_VA = $(TARGET_$@_V)
|
TARGET_VA = $(TARGET_$@_V)
|
|
|
#
|
#
|
# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
|
# 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.
|
# convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile.
|
# Useful for installing libraries.
|
# Useful for installing libraries.
|
#
|
#
|
|
|
LIBSUFFIX_o-optimize_V=
|
LIBSUFFIX_o-optimize_V=
|
LIBSUFFIX_o-debug_V=_g
|
LIBSUFFIX_o-debug_V=_g
|
LIBSUFFIX_o-profile_V=_p
|
LIBSUFFIX_o-profile_V=_p
|
|
|
LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
|
LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
|
LIBSUFFIX_VA = $(LIB_VARIANT).a
|
LIBSUFFIX_VA = $(LIB_VARIANT).a
|
|
|
#
|
#
|
# Builtin clean and distclean rules
|
# Builtin clean and distclean rules
|
# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
|
# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
|
# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
|
# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
|
#
|
#
|
|
|
clean-am: clean-generic
|
clean-am: clean-generic
|
-$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
|
-$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
|
-$(RM) -r $(VARIANTS)
|
-$(RM) -r $(VARIANTS)
|
|
|
distclean-am: distclean-generic clean-am
|
distclean-am: distclean-generic clean-am
|
-$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
|
-$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
|
|
|
ifndef AUTOMAKE
|
ifndef AUTOMAKE
|
preinstall-am:
|
preinstall-am:
|
preinstall: preinstall-am
|
preinstall: preinstall-am
|
|
|
distclean: distclean-am
|
distclean: distclean-am
|
-$(RM) ./config.status
|
-$(RM) ./config.status
|
|
|
clean: clean-am
|
clean: clean-am
|
|
|
.PHONY: distclean distclean-am
|
.PHONY: distclean distclean-am
|
.PHONY: clean clean-am
|
.PHONY: clean clean-am
|
endif
|
endif
|
|
|