summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/arch/arm/arm.mk5
-rw-r--r--mk/arch/mips/mips.mk10
-rw-r--r--mk/targetsys.mk1
-rw-r--r--mk/toolchain.mk10
4 files changed, 24 insertions, 2 deletions
diff --git a/mk/arch/arm/arm.mk b/mk/arch/arm/arm.mk
index 0031a68..e933495 100644
--- a/mk/arch/arm/arm.mk
+++ b/mk/arch/arm/arm.mk
@@ -70,3 +70,8 @@ EMBTK_TARGET_FLOAT_CFLAGS := $(strip $(if $(CONFIG_EMBTK_SOFTFLOAT), \
# Some other flags for TARGET_CFLAGS
EMBTK_TARGET_MCPU := -mcpu=$(EMBTK_MCU_FLAG)
EMBTK_TARGET_MARCH :=
+
+# Some cross compiler variables
+__xtools_env_float := $(if $(CONFIG_EMBTK_SOFTFLOAT),sf,hf)
+__xtools_archos := $(GNU_TARGET)
+__xtools_env := $(EMBTK_MCU_FLAG)-$(__xtools_env_float)
diff --git a/mk/arch/mips/mips.mk b/mk/arch/mips/mips.mk
index ba2e584..ff4d402 100644
--- a/mk/arch/mips/mips.mk
+++ b/mk/arch/mips/mips.mk
@@ -27,6 +27,7 @@ LINUX_ARCH := mips
__embtk_mips_endian := $(if $(CONFIG_EMBTK_TARGET_ARCH_LITTLE_ENDIAN),el)
__embtk_mips_abi-$(CONFIG_EMBTK_CLIB_EGLIBC) := gnu
__embtk_mips_abi := $(or $(__embtk_mips_abi-y),$(embtk_clib))
+__embtk_mips_64bit := $(if $(CONFIG_EMBTK_TARGET_ARCH_64BITS),64)
ifeq ($(CONFIG_EMBTK_ARCH_MIPS_MIPS1),y)
GNU_TARGET := mips$(__embtk_mips_endian)-$(embtk_os)
@@ -93,19 +94,23 @@ GCC_WITH_ARCH := --with-arch=$(GNU_TARGET_ARCH)
ifeq ($(CONFIG_EMBTK_HARDFLOAT),y)
GCC_WITH_FLOAT := --with-float=hard
EMBTK_TARGET_FLOAT_CFLAGS := -mhard-float
+__xtools_env_float := sf
else
GCC_WITH_FLOAT := --with-float=soft
EMBTK_TARGET_FLOAT_CFLAGS := -msoft-float
+__xtools_env_float := hf
endif
# ABI part
ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_O32),y)
GCC_WITH_ABI := --with-abi=32
EMBTK_TARGET_ABI := -mabi=32
+__xtools_env_abi := o32
else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_N32),y)
GCC_WITH_ABI := --with-abi=n32
EMBTK_TARGET_ABI := -mabi=n32
+__xtools_env_abi := n32
#else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_EABI),y)
#GCC_WITH_ABI := --with-abi=eabi
@@ -118,8 +123,13 @@ EMBTK_TARGET_ABI := -mabi=n32
else
GCC_WITH_ABI := --with-abi=64
EMBTK_TARGET_ABI := -mabi=64
+__xtools_env_abi := n64
endif
# Some other flags for TARGET_CFLAGS
EMBTK_TARGET_MCPU :=
EMBTK_TARGET_MARCH := -march=$(EMBTK_MCU_FLAG)
+
+# Some cross compiler variables
+__xtools_archos := mips$(__embtk_mips_64bit)$(__embtk_mips_endian)-$(embtk_os)
+__xtools_env := $(GNU_TARGET_ARCH)$(__xtools_env_float)-$(__xtools_env_abi)
diff --git a/mk/targetsys.mk b/mk/targetsys.mk
index e5980cc..66cb45f 100644
--- a/mk/targetsys.mk
+++ b/mk/targetsys.mk
@@ -29,3 +29,4 @@ embtk_os := $(or $(embtk_os-y),invalid-os)
embtk_clib-$(CONFIG_EMBTK_CLIB_EGLIBC) := eglibc
embtk_clib-$(CONFIG_EMBTK_CLIB_UCLIBC) := uclibc
embtk_clib := $(or $(embtk_clib-y),invalid-clib)
+embtk_clib_version := $(call embtk_get_pkgversion,$(embtk_clib))
diff --git a/mk/toolchain.mk b/mk/toolchain.mk
index 975a6b3..8f29f4a 100644
--- a/mk/toolchain.mk
+++ b/mk/toolchain.mk
@@ -134,9 +134,15 @@ AUTOTOOLS_INSTALL := m4_install libtool_install autoconf_install
AUTOTOOLS_INSTALL += automake_install
# Toolchain internals
+__xtools_compiler-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := clangllvm-$(LLVM_VERSION)
+__xtools_compiler-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := clangllvm-$(LLVM_VERSION)
+__xtools_compiler-$(CONFIG_EMBTK_GCC_ONLY_TOOLCHAIN) := gcc-$(GCC_VERSION)
+__xtools_compiler-$(CONFIG_EMBTK_GCC_DEFAULT_TOOLCHAIN) := gcc-$(GCC_VERSION)
+__xtools_bins := $(__xtools_compiler-y)-$(embtk_clib)-$(embtk_clib_version)
+
+TOOLCHAIN_PACKAGE := toolchain-$(__xtools_archos)-$(__xtools_bins)-$(__xtools_env).tar.bz2
+TOOLCHAIN_DIR := $(embtk_generated)/toolchain-$(__xtools_archos)-$(__xtools_bins)-$(__xtools_env)
TOOLCHAIN_NAME := toolchain
-TOOLCHAIN_PACKAGE := toolchain-$(GNU_TARGET)-$(embtk_clib)-$(EMBTK_MCU_FLAG).tar.bz2
-TOOLCHAIN_DIR := $(embtk_generated)/toolchain-$(GNU_TARGET)-$(embtk_clib)-$(EMBTK_MCU_FLAG)
TOOLCHAIN_BUILD_DIR := $(TOOLCHAIN_DIR)
TOOLCHAIN_SRC_DIR := $(TOOLCHAIN_DIR)