blob: 90cda37fadb9c0f7f697d37d7713b369d327d52e (
plain) (
tree)
|
|
# make/leaf.cfg
#
# Make(1) configuration file include'd by all leaf-node Makefiles
#
#
# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
# convert our ${ARCH} back into .a or _g.a or _p.a based on debug.
# Useful for installing libraries.
#
LIBSUFFIX_OPTIMIZE_V=
LIBSUFFIX_DEBUG_V=_g
LIB_VARIANT=$(LIBSUFFIX_$(VARIANT_V)_V)
LIBSUFFIX_VA = $(LIB_VARIANT).a
# 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
ifndef AUTOMAKE
#
# Builtin targets for compilation variants
#
debug:
$(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) VARIANT=DEBUG
endif
#
# VARIANT_VA will convert our ${ARCH} back into "" or "debug".
# Handy when one makefile wants to hop over into a peer's tree and
# build something "the same" way.
#
VARIANT-OPTIMIZE-v =
VARIANT-DEBUG-v = debug
VARIANT_VA = $(VARIANT-$(VARIANT_V)-v)
#
# TARGET_VA will convert $@ (expected to be 'debug' etc.)
# into "" or "install" as appropriate.
# Used for variant recursion.
#
TARGET_debug_V = all
TARGET_VA = $(TARGET_$@_V)
#
# 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)
ifndef AUTOMAKE
preinstall-am:
preinstall: preinstall-am
distclean: distclean-am
-$(RM) ./config.status
clean: clean-am
.PHONY: distclean distclean-am
.PHONY: clean clean-am
endif
## what to do about $(EXEEXT) --> $(EXEEXT)
## -o $(basename $@)$(EXEEXT) OR
## -o $(basename $@)$(EXEEXT) OR
DOWNEXT=.ralf
define bsp-link-c
$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
endef
define bsp-link-cxx
$(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
endef
define default-bsp-post-link
$(NM) -g -n $@ > $(basename $@).num
$(SIZE) $@
endef
ifndef bsp-post-link
define bsp-post-link
$(default-bsp-post-link)
cp $(basename $@).exe $(basename $@)$(DOWNEXT)
endef
endif
define make-exe
$(bsp-link-c)
$(bsp-post-link)
endef
define make-cxx-exe
$(bsp-link-cxx)
$(bsp-post-link)
endef
|