diff options
Diffstat (limited to 'arch/sh/Makefile')
-rw-r--r-- | arch/sh/Makefile | 104 |
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 | |||
34 | endif | 34 | endif |
35 | endif | 35 | endif |
36 | 36 | ||
37 | cflags-$(CONFIG_CPU_SH2) := -m2 | 37 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) |
38 | cflags-$(CONFIG_CPU_SH2A) := -m2a $(call cc-option,-m2a-nofpu,) | 38 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ |
39 | cflags-$(CONFIG_CPU_SH3) := -m3 | 39 | $(call cc-option,-m2a-nofpu,) |
40 | cflags-$(CONFIG_CPU_SH4) := -m4 \ | 40 | cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,) |
41 | cflags-$(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) |
42 | cflags-$(CONFIG_CPU_SH4A) := $(call cc-option,-m4a,) $(call cc-option,-m4a-nofpu,) | 43 | cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \ |
44 | $(call cc-option,-m4a-nofpu,) | ||
43 | 45 | ||
44 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 46 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
45 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 47 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
46 | 48 | ||
47 | cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding | 49 | cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding |
48 | 50 | ||
49 | cflags-$(CONFIG_SH_DSP) += -Wa,-dsp | ||
50 | |||
51 | cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \ | 51 | cflags-$(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/ | |||
87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ | 87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ |
88 | 88 | ||
89 | # Boards | 89 | # Boards |
90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x | 90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x |
91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722 | 91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722 |
92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 | 92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 |
93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 | 93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 |
94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 | 94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 |
95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343 | 95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 |
96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 | 96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180 |
97 | machdir-$(CONFIG_SH_HP6XX) := hp6xx | 97 | machdir-$(CONFIG_SH_HP6XX) += hp6xx |
98 | machdir-$(CONFIG_SH_SATURN) := saturn | 98 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast |
99 | machdir-$(CONFIG_SH_DREAMCAST) := dreamcast | 99 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 |
100 | machdir-$(CONFIG_SH_MPC1211) := mpc1211 | 100 | machdir-$(CONFIG_SH_SH03) += sh03 |
101 | machdir-$(CONFIG_SH_SH03) := sh03 | 101 | machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear |
102 | machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear | 102 | machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip |
103 | machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip | 103 | machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d |
104 | machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d | 104 | machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh |
105 | machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh | 105 | machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705 |
106 | machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 | 106 | machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp |
107 | machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp | 107 | machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw |
108 | machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw | 108 | machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev |
109 | machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev | 109 | machdir-$(CONFIG_SH_LANDISK) += landisk |
110 | machdir-$(CONFIG_SH_LANDISK) := landisk | 110 | machdir-$(CONFIG_SH_TITAN) += titan |
111 | machdir-$(CONFIG_SH_TITAN) := titan | 111 | machdir-$(CONFIG_SH_SHMIN) += shmin |
112 | machdir-$(CONFIG_SH_SHMIN) := shmin | 112 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206 |
113 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 | 113 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619 |
114 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 | 114 | machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2 |
115 | machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 | 115 | |
116 | machdir-$(CONFIG_SH_UNKNOWN) := unknown | 116 | incdir-y := $(notdir $(machdir-y)) |
117 | |||
118 | incdir-y := $(notdir $(machdir-y)) | ||
119 | incdir-$(CONFIG_SH_HP6XX) := hp6xx | ||
120 | 117 | ||
121 | ifneq ($(machdir-y),) | 118 | ifneq ($(machdir-y),) |
122 | core-y += arch/sh/boards/$(machdir-y)/ | 119 | core-y += $(addprefix arch/sh/boards/, \ |
120 | $(filter-out ., $(patsubst %,%/,$(machdir-y)))) | ||
123 | endif | 121 | endif |
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 | ||
161 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ | 165 | include/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 | ||
175 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools | 185 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools |
@@ -188,7 +198,9 @@ compressed: zImage | |||
188 | archclean: | 198 | archclean: |
189 | $(Q)$(MAKE) $(clean)=$(boot) | 199 | $(Q)$(MAKE) $(clean)=$(boot) |
190 | 200 | ||
191 | CLEAN_FILES += include/asm-sh/machtypes.h | 201 | CLEAN_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 | ||
193 | define archhelp | 205 | define archhelp |
194 | @echo '* zImage - Compressed kernel image' | 206 | @echo '* zImage - Compressed kernel image' |