aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/Makefile')
-rw-r--r--arch/sh/Makefile104
1 files changed, 58 insertions, 46 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 883b03b040c4..77fecc62a056 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -34,20 +34,20 @@ isa-y := $(isa-y)-nofpu
34endif 34endif
35endif 35endif
36 36
37cflags-$(CONFIG_CPU_SH2) := -m2 37cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,)
38cflags-$(CONFIG_CPU_SH2A) := -m2a $(call cc-option,-m2a-nofpu,) 38cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \
39cflags-$(CONFIG_CPU_SH3) := -m3 39 $(call cc-option,-m2a-nofpu,)
40cflags-$(CONFIG_CPU_SH4) := -m4 \ 40cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,)
41cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \
41 $(call cc-option,-mno-implicit-fp,-m4-nofpu) 42 $(call cc-option,-mno-implicit-fp,-m4-nofpu)
42cflags-$(CONFIG_CPU_SH4A) := $(call cc-option,-m4a,) $(call cc-option,-m4a-nofpu,) 43cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
44 $(call cc-option,-m4a-nofpu,)
43 45
44cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb 46cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
45cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml 47cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
46 48
47cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding 49cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding
48 50
49cflags-$(CONFIG_SH_DSP) += -Wa,-dsp
50
51cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \ 51cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \
52 $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') 52 $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
53 53
@@ -87,39 +87,37 @@ core-y += arch/sh/kernel/ arch/sh/mm/
87core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ 87core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
88 88
89# Boards 89# Boards
90machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x 90machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x
91machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722 91machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722
92machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 92machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751
93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780
94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300
95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343 95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343
96machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 96machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180
97machdir-$(CONFIG_SH_HP6XX) := hp6xx 97machdir-$(CONFIG_SH_HP6XX) += hp6xx
98machdir-$(CONFIG_SH_SATURN) := saturn 98machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
99machdir-$(CONFIG_SH_DREAMCAST) := dreamcast 99machdir-$(CONFIG_SH_MPC1211) += mpc1211
100machdir-$(CONFIG_SH_MPC1211) := mpc1211 100machdir-$(CONFIG_SH_SH03) += sh03
101machdir-$(CONFIG_SH_SH03) := sh03 101machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear
102machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear 102machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip
103machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip 103machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d
104machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d 104machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh
105machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh 105machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705
106machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 106machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp
107machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp 107machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw
108machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw 108machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev
109machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev 109machdir-$(CONFIG_SH_LANDISK) += landisk
110machdir-$(CONFIG_SH_LANDISK) := landisk 110machdir-$(CONFIG_SH_TITAN) += titan
111machdir-$(CONFIG_SH_TITAN) := titan 111machdir-$(CONFIG_SH_SHMIN) += shmin
112machdir-$(CONFIG_SH_SHMIN) := shmin 112machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206
113machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 113machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619
114machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 114machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2
115machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 115
116machdir-$(CONFIG_SH_UNKNOWN) := unknown 116incdir-y := $(notdir $(machdir-y))
117
118incdir-y := $(notdir $(machdir-y))
119incdir-$(CONFIG_SH_HP6XX) := hp6xx
120 117
121ifneq ($(machdir-y),) 118ifneq ($(machdir-y),)
122core-y += arch/sh/boards/$(machdir-y)/ 119core-y += $(addprefix arch/sh/boards/, \
120 $(filter-out ., $(patsubst %,%/,$(machdir-y))))
123endif 121endif
124 122
125# Companion chips 123# Companion chips
@@ -157,19 +155,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
157# Most boards have their own mach directories. For the ones that 155# Most boards have their own mach directories. For the ones that
158# don't, just reference the parent directory so the semantics are 156# don't, just reference the parent directory so the semantics are
159# kept roughly the same. 157# kept roughly the same.
158#
159# When multiple boards are compiled in at the same time, preference
160# for the mach link is given to whichever has a directory for its
161# headers. However, this is only a workaround until platforms that
162# can live in the same kernel image back away from relying on the
163# mach link.
160 164
161include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ 165include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
162 include/config/auto.conf FORCE 166 include/config/auto.conf FORCE
163 @echo -n ' SYMLINK include/asm-sh/mach -> '
164 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi 167 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
165 $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \ 168 $(Q)rm -f include/asm-sh/mach
166 echo -e 'include/asm-sh/$(incdir-y)'; \ 169 $(Q)for i in $(incdir-y); do \
167 ln -fsn $(incdir-prefix)$(incdir-y) \ 170 if [ -d $(incdir-prefix)$$i ]; then \
171 echo -n ' SYMLINK include/asm-sh/mach -> '; \
172 echo -e "include/asm-sh/$$i"; \
173 ln -fsn $(incdir-prefix)$$i \
168 include/asm-sh/mach; \ 174 include/asm-sh/mach; \
169 else \ 175 else \
170 echo -e 'include/asm-sh'; \ 176 if [ ! -d include/asm-sh/mach ]; then \
171 ln -fsn $(incdir-prefix) include/asm-sh/mach; \ 177 echo -n ' SYMLINK include/asm-sh/mach -> '; \
172 fi 178 echo -e 'include/asm-sh'; \
179 ln -fsn $(incdir-prefix) include/asm-sh/mach; \
180 fi; \
181 fi; \
182 done
173 @touch $@ 183 @touch $@
174 184
175archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools 185archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools
@@ -188,7 +198,9 @@ compressed: zImage
188archclean: 198archclean:
189 $(Q)$(MAKE) $(clean)=$(boot) 199 $(Q)$(MAKE) $(clean)=$(boot)
190 200
191CLEAN_FILES += include/asm-sh/machtypes.h 201CLEAN_FILES += include/asm-sh/machtypes.h \
202 include/asm-sh/cpu include/asm-sh/.cpu \
203 include/asm-sh/mach include/asm-sh/.mach
192 204
193define archhelp 205define archhelp
194 @echo '* zImage - Compressed kernel image' 206 @echo '* zImage - Compressed kernel image'