forked from Imagelibrary/rtems
Patch rtems-rc-4.5-10-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
Ralf's description of the patch follows:
Now that make VARIANT=xxx has prooven not to be simple enough, I made up
my mind to change again the internals of the mechanism being used to
handle variants:
With the patch below, I introduce the indirection step I had mentioned
in one of my recent mails to translate settings of VARIANT.
The trick is to use the contents of VARIANT as keyword to lookup another
internal keyword (VARIANT_V), which then is used as keyword to lookup
values for setting ARCH, LIB_VARIANT, LIBSUFFIX_VA and AM_CFLAGS from
ARCH_$(VARIANT_V)_V etc. (cf automake/local.am).
This means, at first to translate
VARIANT=[optimize|OPTIMIZE] into VARIANT_V=OPTIMIZE
VARIANT=[debug|DEBUG] into VARIANT_V=DEBUG
VARIANT=[profile|PROFILE] into VARIANT_V=PROFILE
VARIANT=<anything> into VARIANT_V=<anything>
=> perform keyword conversion to uppercase and reduction from 6 to 3+1
internal keywords.
$(VARIANT_V) then is used to lookup make variables from other tables
(eg. CFLAGS_*_V). Eg. ARCH is set up this way:
ARCH_OPTIMIZE_V = o-optimize
ARCH_DEBUG_V = o-debug
ARCH_PROFILE_V = o-profile
ARCH__V = $(ARCH_OPTIMIZE_V)
ARCH = $(ARCH_$(VARIANT_V)_V)
Note the ARCH__V variable. When VARIANT=<anything> is passed to make,
VARIANT_V=<anything> will be set, resulting into ARCH =
$(ARCH_$(<anything>)_V) = $(ARCH__V) = $(ARCH_OPTIMIZE_V), ie. falling
back to OPTIMIZE.
=> o- or o-<anything> should never popup anymore.
This commit is contained in:
@@ -41,16 +41,3 @@ include ${CONFIG.CC}
|
||||
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
||||
include ${DEPEND} # pull in dependencies if they exist
|
||||
endif
|
||||
|
||||
#
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user