summaryrefslogtreecommitdiff
path: root/toolchain/gcc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/Makefile')
-rw-r--r--toolchain/gcc/Makefile19
1 files changed, 15 insertions, 4 deletions
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 175af8aae..51fc1fe8b 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -132,8 +132,10 @@ GCC_CONFOPTS+= --with-arch=$(ADK_TARGET_GCC_ARCH)
endif
ifneq ($(ADK_TARGET_FLOAT),)
+ifneq ($(ADK_TARGET_ARCH_OR1K),y)
GCC_CONFOPTS+= --with-float=$(ADK_TARGET_FLOAT)
endif
+endif
ifneq ($(ADK_TARGET_FPU),)
GCC_CONFOPTS+= --with-fpu=$(ADK_TARGET_FPU)
@@ -259,6 +261,10 @@ ifneq ($(ADK_TARGET_ABI_RISCV),)
GCC_CONFOPTS+= --with-abi=${ADK_TARGET_ABI_RISCV}
endif
+ifeq ($(ADK_TOOLCHAIN_GCC_NDS32),y)
+EXTRA_CXXFLAGS:= --std=c++03
+endif
+
ifeq (${ADK_MAKE_PARALLEL},y)
GCC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
@@ -286,8 +292,13 @@ GCC_BUILD_DIR_FINAL:= $(WRKBUILD)-final
$(GCC_BUILD_DIR_INITIAL)/.configured:
ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
+ifeq ($(ADK_TARGET_ABI),)
tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE).tar \
--strip-components=1 -C $(WRKSRC) gcc
+else
+ tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE)_$(ADK_TARGET_ABI).tar \
+ --strip-components=1 -C $(WRKSRC) gcc
+endif
endif
mkdir -p $(GCC_BUILD_DIR_INITIAL)
# these symlinks are very important, do not remove
@@ -315,7 +326,7 @@ ifeq ($(ADK_TARGET_CPU_SH_SH4A),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4a)
endif
endif
-ifeq ($(ADK_TARGET_ARCH_M68K),y)
+ifeq ($(ADK_TARGET_CPU_CF),y)
# Need to get gcc to generate _all_ the multilib variants
# (so both MMU and non-mmu M68k and ColdFire).
$(SED) 's/M68K_MLIB_CPU +=/#M68K_MLIB_CPU +=/' $(WRKBUILD)/gcc/config/m68k/t-m68k
@@ -327,7 +338,7 @@ endif
CC='$(HOST_CC)' \
CXX='$(HOST_CXX)' \
CFLAGS="-O0 -g0 -fomit-frame-pointer" \
- CXXFLAGS="-O0 -g0 -fomit-frame-pointer" \
+ CXXFLAGS="-O0 -g0 -fomit-frame-pointer $(EXTRA_CXXFLAGS)" \
$(WRKBUILD)/configure \
${GCC_INITIAL_CONFOPTS} \
${GCC_CONFOPTS} \
@@ -368,7 +379,7 @@ $(WRKBUILD)/.compiled:
cd $(GCC_BUILD_DIR_FINAL); \
PATH='$(TARGET_PATH)' \
CC='$(HOST_CC)' \
- CXX='$(HOST_CXX)' \
+ CXX='$(HOST_CXX) $(EXTRA_CXXFLAGS)' \
CFLAGS_FOR_TARGET='$(TARGET_CFLAGS)' \
CXXFLAGS_FOR_TARGET='$(TARGET_CXXFLAGS)' \
$(WRKBUILD)/configure \
@@ -390,7 +401,7 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
# remove duplicate tools, convert hardlinks to symlinks
set -e; \
cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin; \
- for app in ar as c++ g++ gcc ld ld.gold ld.bfd nm objcopy objdump ranlib strip; do \
+ for app in ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip; do \
ln -sf ../../bin/$(GNU_TARGET_NAME)-$${app} $${app}; \
done;
(cd $(TOOLCHAIN_DIR)/usr/bin && \