mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
kbuild: introduce cc-cross-prefix
cc-cross-prefix is useful for the architecture that like to provide a default CROSS_COMPILE value, but may have several to select between. Sample usage: ifneq ($(SUBARCH),$(ARCH)) ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-) endif endif Actual usage by the different archs will taken care of later. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
50a8ec31c3
commit
910b40468a
2 changed files with 33 additions and 0 deletions
|
@ -518,6 +518,28 @@ more details, with real examples.
|
|||
In this example for a specific GCC version the build will error out explaining
|
||||
to the user why it stops.
|
||||
|
||||
cc-cross-prefix
|
||||
cc-cross-prefix is used to check if there exist a $(CC) in path with
|
||||
one of the listed prefixes. The first prefix where there exist a
|
||||
prefix$(CC) in the PATH is returned - and if no prefix$(CC) is found
|
||||
then nothing is returned.
|
||||
Additional prefixes are separated by a single space in the
|
||||
call of cc-cross-prefix.
|
||||
This functionality is usefull for architecture Makefile that try
|
||||
to set CROSS_COMPILE to well know values but may have several
|
||||
values to select between.
|
||||
It is recommended only to try to set CROSS_COMPILE is it is a cross
|
||||
build (host arch is different from target arch). And is CROSS_COMPILE
|
||||
is already set then leave it with the old value.
|
||||
|
||||
Example:
|
||||
#arch/m68k/Makefile
|
||||
ifneq ($(SUBARCH),$(ARCH))
|
||||
ifeq ($(CROSS_COMPILE),)
|
||||
CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu-)
|
||||
endif
|
||||
endif
|
||||
|
||||
=== 4 Host Program support
|
||||
|
||||
Kbuild supports building executables on the host for use during the
|
||||
|
|
|
@ -56,6 +56,17 @@ endef
|
|||
# gcc support functions
|
||||
# See documentation in Documentation/kbuild/makefiles.txt
|
||||
|
||||
# cc-cross-prefix
|
||||
# Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
|
||||
# Return first prefix where a prefix$(CC) is found in PATH.
|
||||
# If no $(CC) found in PATH with listed prefixes return nothing
|
||||
cc-cross-prefix = \
|
||||
$(word 1, $(foreach c,$(1), \
|
||||
$(shell set -e; \
|
||||
if (which $(strip $(c))$(CC)) > /dev/null 2>&1 ; then \
|
||||
echo $(c); \
|
||||
fi)))
|
||||
|
||||
# output directory for tests below
|
||||
TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/)
|
||||
|
||||
|
|
Loading…
Reference in a new issue