toolchain: prepare for more than two alternatives
Lay down the path to add more than two toolchain kinds: - check the type of toolchain as: ifeq (toolchain_buildroot,y) blabla buildroot-specific else ifeq (toolchain_external,y) blabla external-specific endif - prefer using positive checks, a-la: ifeq (foo,y) instead of: ifneq (bar,y) (where foo and bar are mutually exclusive) - have the toolchain_buildroot case always appear first - gettext is handled differently, because we want to add an option only if not using the buildroot toolchain, hence we use ifneq. Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Acked-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>2012.11.x
parent
3b7aee23f2
commit
26b44b2b02
6
Makefile
6
Makefile
|
@ -199,7 +199,7 @@ PREFERRED_LIB_FLAGS:=--enable-static --enable-shared
|
||||||
##############################################################
|
##############################################################
|
||||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||||
BASE_TARGETS:=uclibc-configured binutils cross_compiler uclibc-target-utils kernel-headers
|
BASE_TARGETS:=uclibc-configured binutils cross_compiler uclibc-target-utils kernel-headers
|
||||||
else
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
BASE_TARGETS:=uclibc
|
BASE_TARGETS:=uclibc
|
||||||
endif
|
endif
|
||||||
TARGETS:=
|
TARGETS:=
|
||||||
|
@ -301,7 +301,7 @@ include toolchain/kernel-headers/kernel-headers.mk
|
||||||
include toolchain/mklibs/mklibs.mk
|
include toolchain/mklibs/mklibs.mk
|
||||||
include toolchain/sstrip/sstrip.mk
|
include toolchain/sstrip/sstrip.mk
|
||||||
include toolchain/uClibc/uclibc.mk
|
include toolchain/uClibc/uclibc.mk
|
||||||
else
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
include toolchain/*/*.mk
|
include toolchain/*/*.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ $(STAGING_DIR):
|
||||||
ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
|
ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
|
||||||
@mkdir -p $(STAGING_DIR)/usr/lib
|
@mkdir -p $(STAGING_DIR)/usr/lib
|
||||||
else
|
else
|
||||||
ifneq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||||
@ln -snf . $(STAGING_DIR)/usr
|
@ln -snf . $(STAGING_DIR)/usr
|
||||||
@mkdir -p $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)
|
@mkdir -p $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)
|
||||||
@ln -snf ../lib $(STAGING_DIR)/usr/lib
|
@ln -snf ../lib $(STAGING_DIR)/usr/lib
|
||||||
|
|
|
@ -88,9 +88,8 @@ endif
|
||||||
|
|
||||||
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
||||||
|
|
||||||
# else it's an external toolchain
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
else
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) --sysroot $(STAGING_DIR)/
|
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) --sysroot $(STAGING_DIR)/
|
||||||
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
||||||
TARGET_LDFLAGS=--sysroot $(STAGING_DIR)/
|
TARGET_LDFLAGS=--sysroot $(STAGING_DIR)/
|
||||||
|
@ -115,7 +114,7 @@ GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
|
||||||
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)$(GNU_TARGET_SUFFIX)
|
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)$(GNU_TARGET_SUFFIX)
|
||||||
TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
|
TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
|
||||||
KERNEL_CROSS=$(TARGET_CROSS)
|
KERNEL_CROSS=$(TARGET_CROSS)
|
||||||
else
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
TOOLCHAIN_EXTERNAL_PREFIX:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
|
TOOLCHAIN_EXTERNAL_PREFIX:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
|
||||||
TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH))
|
TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH))
|
||||||
TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
|
TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
|
||||||
|
@ -139,10 +138,10 @@ TARGET_NM=$(TARGET_CROSS)nm
|
||||||
TARGET_RANLIB=$(TARGET_CROSS)ranlib
|
TARGET_RANLIB=$(TARGET_CROSS)ranlib
|
||||||
TARGET_OBJCOPY=$(TARGET_CROSS)objcopy
|
TARGET_OBJCOPY=$(TARGET_CROSS)objcopy
|
||||||
TARGET_OBJDUMP=$(TARGET_CROSS)objdump
|
TARGET_OBJDUMP=$(TARGET_CROSS)objdump
|
||||||
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||||
TARGET_LDCONFIG=/sbin/ldconfig
|
|
||||||
else
|
|
||||||
TARGET_LDCONFIG=$(TARGET_CROSS)ldconfig
|
TARGET_LDCONFIG=$(TARGET_CROSS)ldconfig
|
||||||
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
|
TARGET_LDCONFIG=/sbin/ldconfig
|
||||||
endif
|
endif
|
||||||
ifeq ($(BR2_STRIP_strip),y)
|
ifeq ($(BR2_STRIP_strip),y)
|
||||||
STRIP_DISCARD_ALL:=--discard-all
|
STRIP_DISCARD_ALL:=--discard-all
|
||||||
|
|
|
@ -29,7 +29,7 @@ $(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE)
|
||||||
$(CONFIG_UPDATE) $(GETTEXT_DIR)/build-aux
|
$(CONFIG_UPDATE) $(GETTEXT_DIR)/build-aux
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||||
IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
|
IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue