summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-15 15:41:44 +0100
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-15 15:41:44 +0100
commit3668bdcaa07335ffb0451ecaefde0fd04dab3818 (patch)
tree461dd9d17a736b197d05f9041bc5ae4da6f3acc1 /toolchain
parent6ed98f3175529dc2bb7babbe050f5cf0b9100889 (diff)
downloadembtoolkit-3668bdcaa07335ffb0451ecaefde0fd04dab3818.tar.gz
embtoolkit-3668bdcaa07335ffb0451ecaefde0fd04dab3818.tar.bz2
embtoolkit-3668bdcaa07335ffb0451ecaefde0fd04dab3818.tar.xz
Toolchain: move variables definitions vars.mk
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/toolchain.mk84
-rw-r--r--toolchain/vars.mk108
2 files changed, 110 insertions, 82 deletions
diff --git a/toolchain/toolchain.mk b/toolchain/toolchain.mk
index 5cf40fd..f60f48f 100644
--- a/toolchain/toolchain.mk
+++ b/toolchain/toolchain.mk
@@ -22,90 +22,10 @@
# \date May 2009
################################################################################
-TARGETGCC := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-gcc
-TARGETGCXX := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-g++
-TARGETCLANG := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-clang
-TARGETCLANGXX := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-clang++
-
-#
-# Default compilers to use for packages.
-#
-__TARGETCC-y := $(TARGETGCC)
-__TARGETCXX-y := $(TARGETGCXX)
-
-__TARGETCC-$(embtk_toolchain_use_llvm-y) := $(TARGETCLANG)
-__TARGETCXX-$(embtk_toolchain_use_llvm-y) := $(TARGETCLANGXX)
-
-#
-# FIXME: remove this when clang++ will support exceptions in c++ for arm,
-# as exceptions seem to work for mips.
-#
-ifeq ($(CONFIG_EMBTK_ARCH_MIPS),y)
-__TARGETCXX-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := $(TARGETCLANGXX)
-__TARGETCXX-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := $(TARGETCLANGXX)
-else
-__TARGETCXX-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := $(TARGETGCXX)
-__TARGETCXX-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := $(TARGETGCXX)
-endif
-
-TARGETCC := $(__TARGETCC-y)
-TARGETCXX := $(__TARGETCXX-y)
-
-#
-# Clang static analyzer tools
-#
-ifeq ($(CONFIG_EMBTK_GCC_ONLY_TOOLCHAIN),)
-TARGETSCANBUILD := $(embtk_tools)/bin/clang-scan-build/scan-build
-TARGETSCANBUILD += --use-analyzer=$(TARGETCLANG)
-TARGETSCANBUILD += --use-cc=$(TARGETCC)
-TARGETSCANBUILD += --use-c++=$(TARGETCXX)
-TARGETSCANVIEW := $(embtk_tools)/bin/clang-scan-view/scan-view
-endif
-
-#
-# Some binutils components.
-#
-TARGETAR := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ar
-TARGETRANLIB := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ranlib
-TARGETLD := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ld
-TARGETNM := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-nm
-TARGETSTRIP := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-strip
-TARGETOBJDUMP := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-objdump
-TARGETOBJCOPY := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-objcopy
-TARGETREADELF := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-readelf
-
#
-# TARGET cflags
+# Toolchain variables
#
-__kconfig-cflags := $(strip $(CONFIG_EMBTK_TARGET_COMPILER_CFLAGS))
-__TARGET_CFLAGS := $(subst ",,$(__kconfig-cflags))
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_NONE_OPTIMIZED),-O0)
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_SIZE_OPTIMIZED),-Os)
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_SPEED_OPTIMIZED),-O2)
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_WITH_DEBUG_DATA),-g)
-
-# cflags for clang
-__clang_cflags := -Qunused-arguments -fcolor-diagnostics
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN),$(__clang_cflags))
-__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN),$(__clang_cflags))
-
-TARGET_CFLAGS := $(strip $(__TARGET_CFLAGS))
-TARGET_CXXFLAGS := $(filter-out $(__clang_cflags),$(TARGET_CFLAGS))
-CROSS_COMPILE := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-
-
-export TARGETCC TARGETCXX TARGETAR TARGETRANLIB TARGETLD TARGETNM
-export TARGETSTRIP TARGETOBJDUMP TARGETOBJCOPY TARGET_CFLAGS CROSS_COMPILE
-
-ac_cv_func_malloc_0_nonnull=yes
-export ac_cv_func_malloc_0_nonnull
-ac_cv_func_realloc_0_nonnull=yes
-export ac_cv_func_realloc_0_nonnull
-
-PATH := $(embtk_htools)/usr/bin:$(embtk_htools)/usr/sbin:$(PATH)
-export PATH
-
-LIBDIR := $(if $(CONFIG_EMBTK_64BITS_FS_COMPAT32),lib32,lib)
-export LIBDIR
+include toolchain/vars.mk
# ccache
include mk/ccache.mk
diff --git a/toolchain/vars.mk b/toolchain/vars.mk
new file mode 100644
index 0000000..dcf32ca
--- /dev/null
+++ b/toolchain/vars.mk
@@ -0,0 +1,108 @@
+################################################################################
+# Copyright(C) 2014 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+#
+# \file toolchain/vars.mk
+# \brief toolchain variables
+# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
+# \date Marsh 2014
+################################################################################
+
+TARGETGCC := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-gcc
+TARGETGCXX := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-g++
+TARGETCLANG := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-clang
+TARGETCLANGXX := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-clang++
+
+#
+# Default compilers to use for packages.
+#
+__TARGETCC-y := $(TARGETGCC)
+__TARGETCXX-y := $(TARGETGCXX)
+
+__TARGETCC-$(embtk_toolchain_use_llvm-y) := $(TARGETCLANG)
+__TARGETCXX-$(embtk_toolchain_use_llvm-y) := $(TARGETCLANGXX)
+
+#
+# FIXME: remove this when clang++ will support exceptions in c++ for arm,
+# as exceptions seem to work for mips.
+#
+ifeq ($(CONFIG_EMBTK_ARCH_MIPS),y)
+__TARGETCXX-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := $(TARGETCLANGXX)
+__TARGETCXX-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := $(TARGETCLANGXX)
+else
+__TARGETCXX-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := $(TARGETGCXX)
+__TARGETCXX-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := $(TARGETGCXX)
+endif
+
+TARGETCC := $(__TARGETCC-y)
+TARGETCXX := $(__TARGETCXX-y)
+
+#
+# Clang static analyzer tools
+#
+ifeq ($(CONFIG_EMBTK_GCC_ONLY_TOOLCHAIN),)
+TARGETSCANBUILD := $(embtk_tools)/bin/clang-scan-build/scan-build
+TARGETSCANBUILD += --use-analyzer=$(TARGETCLANG)
+TARGETSCANBUILD += --use-cc=$(TARGETCC)
+TARGETSCANBUILD += --use-c++=$(TARGETCXX)
+TARGETSCANVIEW := $(embtk_tools)/bin/clang-scan-view/scan-view
+endif
+
+#
+# Some binutils components.
+#
+TARGETAR := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ar
+TARGETRANLIB := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ranlib
+TARGETLD := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-ld
+TARGETNM := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-nm
+TARGETSTRIP := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-strip
+TARGETOBJDUMP := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-objdump
+TARGETOBJCOPY := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-objcopy
+TARGETREADELF := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-readelf
+
+#
+# TARGET cflags
+#
+__kconfig-cflags := $(strip $(CONFIG_EMBTK_TARGET_COMPILER_CFLAGS))
+__TARGET_CFLAGS := $(subst ",,$(__kconfig-cflags))
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_NONE_OPTIMIZED),-O0)
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_SIZE_OPTIMIZED),-Os)
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_SPEED_OPTIMIZED),-O2)
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_TARGET_WITH_DEBUG_DATA),-g)
+
+# cflags for clang
+__clang_cflags := -Qunused-arguments -fcolor-diagnostics
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN),$(__clang_cflags))
+__TARGET_CFLAGS += $(if $(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN),$(__clang_cflags))
+
+TARGET_CFLAGS := $(strip $(__TARGET_CFLAGS))
+TARGET_CXXFLAGS := $(filter-out $(__clang_cflags),$(TARGET_CFLAGS))
+CROSS_COMPILE := $(embtk_tools)/bin/$(STRICT_GNU_TARGET)-
+
+export TARGETCC TARGETCXX TARGETAR TARGETRANLIB TARGETLD TARGETNM
+export TARGETSTRIP TARGETOBJDUMP TARGETOBJCOPY TARGET_CFLAGS CROSS_COMPILE
+
+ac_cv_func_malloc_0_nonnull=yes
+export ac_cv_func_malloc_0_nonnull
+ac_cv_func_realloc_0_nonnull=yes
+export ac_cv_func_realloc_0_nonnull
+
+PATH := $(embtk_htools)/usr/bin:$(embtk_htools)/usr/sbin:$(PATH)
+export PATH
+
+LIBDIR := $(if $(CONFIG_EMBTK_64BITS_FS_COMPAT32),lib32,lib)
+export LIBDIR