diff options
Diffstat (limited to 'arch/sh/Makefile')
| -rw-r--r-- | arch/sh/Makefile | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 1f409bf81809..c43eb0d7fa3b 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # arch/sh/Makefile | 2 | # arch/sh/Makefile |
| 3 | # | 3 | # |
| 4 | # Copyright (C) 1999 Kaz Kojima | 4 | # Copyright (C) 1999 Kaz Kojima |
| 5 | # Copyright (C) 2002, 2003, 2004 Paul Mundt | 5 | # Copyright (C) 2002 - 2008 Paul Mundt |
| 6 | # Copyright (C) 2002 M. R. Brown | 6 | # Copyright (C) 2002 M. R. Brown |
| 7 | # | 7 | # |
| 8 | # This file is subject to the terms and conditions of the GNU General Public | 8 | # This file is subject to the terms and conditions of the GNU General Public |
| @@ -18,16 +18,12 @@ isa-$(CONFIG_CPU_SH4) := sh4 | |||
| 18 | isa-$(CONFIG_CPU_SH4A) := sh4a | 18 | isa-$(CONFIG_CPU_SH4A) := sh4a |
| 19 | isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al | 19 | isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al |
| 20 | isa-$(CONFIG_CPU_SH5) := shmedia | 20 | isa-$(CONFIG_CPU_SH5) := shmedia |
| 21 | isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp | ||
| 22 | 21 | ||
| 23 | ifndef CONFIG_SH_DSP | 22 | ifeq ($(CONFIG_SUPERH32),y) |
| 24 | ifndef CONFIG_SH_FPU | 23 | isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp |
| 25 | isa-y := $(isa-y)-nofpu | 24 | isa-y := $(isa-y)-up |
| 26 | endif | ||
| 27 | endif | 25 | endif |
| 28 | 26 | ||
| 29 | isa-y := $(isa-y)-up | ||
| 30 | |||
| 31 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) | 27 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) |
| 32 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ | 28 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ |
| 33 | $(call cc-option,-m2a-nofpu,) | 29 | $(call cc-option,-m2a-nofpu,) |
| @@ -38,6 +34,22 @@ cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \ | |||
| 38 | $(call cc-option,-m4a-nofpu,) | 34 | $(call cc-option,-m4a-nofpu,) |
| 39 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) | 35 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) |
| 40 | 36 | ||
| 37 | ifeq ($(cflags-y),) | ||
| 38 | # | ||
| 39 | # In the case where we are stuck with a compiler that has been uselessly | ||
| 40 | # restricted to a particular ISA, a favourite default of newer GCCs when | ||
| 41 | # extensive multilib targets are not provided, ensure we get the best fit | ||
| 42 | # regarding FP generation. This is necessary to avoid references to FP | ||
| 43 | # variants in libgcc where integer variants exist, which otherwise result | ||
| 44 | # in link errors. This is intentionally stupid (albeit many orders of | ||
| 45 | # magnitude less than GCC's default behaviour), as anything with a large | ||
| 46 | # number of multilib targets better have been built correctly for | ||
| 47 | # the target in mind. | ||
| 48 | # | ||
| 49 | cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \ | ||
| 50 | grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//') | ||
| 51 | endif | ||
| 52 | |||
| 41 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 53 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
| 42 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 54 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
| 43 | 55 | ||
| @@ -65,7 +77,8 @@ OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \ | |||
| 65 | -R .stab -R .stabstr -S | 77 | -R .stab -R .stabstr -S |
| 66 | 78 | ||
| 67 | # Give the various platforms the opportunity to set default image types | 79 | # Give the various platforms the opportunity to set default image types |
| 68 | defaultimage-$(CONFIG_SUPERH32) := zImage | 80 | defaultimage-$(CONFIG_SUPERH32) := zImage |
| 81 | defaultimage-$(CONFIG_SH_SH7785LCR) := uImage | ||
| 69 | 82 | ||
| 70 | # Set some sensible Kbuild defaults | 83 | # Set some sensible Kbuild defaults |
| 71 | KBUILD_DEFCONFIG := shx3_defconfig | 84 | KBUILD_DEFCONFIG := shx3_defconfig |
