From b92dc96d7f82727329d9e0939748a57b3e6d402e Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 31 May 2015 16:01:00 -0500 Subject: add basic infrastructure for superh toolchains with sh2/sh3/sh4a cpus --- toolchain/gcc/Makefile | 14 ++++++++++++++ toolchain/uclibc-ng/Makefile | 29 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) (limited to 'toolchain') diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index e3974ff31..5aceca03d 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -123,8 +123,22 @@ GCC_CONFOPTS+= --with-endian=little else GCC_CONFOPTS+= --with-endian=big endif +ifeq ($(ADK_CPU_SH2),y) +GCC_FINAL_CONFOPTS+= --with-multilib-list=m2 +endif +ifeq ($(ADK_CPU_SH2A),y) +GCC_FINAL_CONFOPTS+= --with-multilib-list=m2a +endif +ifeq ($(ADK_CPU_SH3),y) +GCC_FINAL_CONFOPTS+= --with-multilib-list=m3 +endif +ifeq ($(ADK_CPU_SH4),y) GCC_FINAL_CONFOPTS+= --with-multilib-list=m4,m4-nofpu endif +ifeq ($(ADK_CPU_SH4A),y) +GCC_FINAL_CONFOPTS+= --with-multilib-list=m4a,m4a-nofpu +endif +endif ifeq ($(ADK_TARGET_ARCH_X86),y) ifeq ($(ADK_TARGET_KERNEL_64),y) diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile index 547f63d15..8647e3d90 100644 --- a/toolchain/uclibc-ng/Makefile +++ b/toolchain/uclibc-ng/Makefile @@ -197,6 +197,35 @@ ifeq ($(ADK_CPU_MIPS32R2),y) endif endif +# sh +ifeq ($(ADK_TARGET_ARCH_SH),y) +ifeq ($(ADK_CPU_SH4),y) + $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH2=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH4\).*/\1=y/' ${WRKBUILD}/.config +endif +ifeq ($(ADK_CPU_SH3),y) + $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH2=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH3\).*/\1=y/' ${WRKBUILD}/.config +endif +ifeq ($(ADK_CPU_SH2),y) + $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH2\).*/\1=y/' ${WRKBUILD}/.config +endif +ifeq ($(ADK_CPU_SH2A),y) + $(SED) 's/.*\(CONFIG_SH2A=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH3=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH4=\).*/# \1 is not set/' ${WRKBUILD}/.config + $(SED) 's/.*\(CONFIG_SH2A\).*/\1=y/' ${WRKBUILD}/.config +endif +endif + +# x86 ifeq ($(ADK_TARGET_ARCH_X86),y) ifeq ($(ADK_CPU_I486),y) $(SED) 's/.*\(CONFIG_686\).*/# \1 is not set/' ${WRKBUILD}/.config -- cgit v1.2.3