aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Makefile
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-05-14 06:12:37 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-06-07 22:43:39 -0400
commit25f8151bdcdd62c6b879e3669a562c0d329eee4a (patch)
tree9009ad59ee58ce1d0e0f7ba6a35efa726d29e22b /arch/sh/Makefile
parentba36197cf4ff68f631bb1b3d4cc442d567279fe3 (diff)
sh: Get multiple boards in one image working again.
This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Makefile')
-rw-r--r--arch/sh/Makefile88
1 files changed, 50 insertions, 38 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 883b03b040c4..c7323e7dce67 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -87,39 +87,39 @@ 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_SATURN) += saturn
99machdir-$(CONFIG_SH_DREAMCAST) := dreamcast 99machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
100machdir-$(CONFIG_SH_MPC1211) := mpc1211 100machdir-$(CONFIG_SH_MPC1211) += mpc1211
101machdir-$(CONFIG_SH_SH03) := sh03 101machdir-$(CONFIG_SH_SH03) += sh03
102machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear 102machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear
103machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip 103machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip
104machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d 104machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d
105machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh 105machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh
106machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 106machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705
107machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp 107machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp
108machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw 108machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw
109machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev 109machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev
110machdir-$(CONFIG_SH_LANDISK) := landisk 110machdir-$(CONFIG_SH_LANDISK) += landisk
111machdir-$(CONFIG_SH_TITAN) := titan 111machdir-$(CONFIG_SH_TITAN) += titan
112machdir-$(CONFIG_SH_SHMIN) := shmin 112machdir-$(CONFIG_SH_SHMIN) += shmin
113machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 113machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206
114machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 114machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619
115machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 115machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2
116machdir-$(CONFIG_SH_UNKNOWN) := unknown 116machdir-$(CONFIG_SH_UNKNOWN) += unknown
117 117
118incdir-y := $(notdir $(machdir-y)) 118incdir-y := $(notdir $(machdir-y))
119incdir-$(CONFIG_SH_HP6XX) := hp6xx
120 119
121ifneq ($(machdir-y),) 120ifneq ($(machdir-y),)
122core-y += arch/sh/boards/$(machdir-y)/ 121core-y += $(addprefix arch/sh/boards/, \
122 $(filter-out ., $(patsubst %,%/,$(machdir-y))))
123endif 123endif
124 124
125# Companion chips 125# Companion chips
@@ -157,19 +157,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
157# Most boards have their own mach directories. For the ones that 157# Most boards have their own mach directories. For the ones that
158# don't, just reference the parent directory so the semantics are 158# don't, just reference the parent directory so the semantics are
159# kept roughly the same. 159# kept roughly the same.
160#
161# When multiple boards are compiled in at the same time, preference
162# for the mach link is given to whichever has a directory for its
163# headers. However, this is only a workaround until platforms that
164# can live in the same kernel image back away from relying on the
165# mach link.
160 166
161include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ 167include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
162 include/config/auto.conf FORCE 168 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 169 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
165 $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \ 170 $(Q)rm -f include/asm-sh/mach
166 echo -e 'include/asm-sh/$(incdir-y)'; \ 171 $(Q)for i in $(incdir-y); do \
167 ln -fsn $(incdir-prefix)$(incdir-y) \ 172 if [ -d $(incdir-prefix)$$i ]; then \
173 echo -n ' SYMLINK include/asm-sh/mach -> '; \
174 echo -e "include/asm-sh/$$i"; \
175 ln -fsn $(incdir-prefix)$$i \
168 include/asm-sh/mach; \ 176 include/asm-sh/mach; \
169 else \ 177 else \
170 echo -e 'include/asm-sh'; \ 178 if [ ! -d include/asm-sh/mach ]; then \
171 ln -fsn $(incdir-prefix) include/asm-sh/mach; \ 179 echo -n ' SYMLINK include/asm-sh/mach -> '; \
172 fi 180 echo -e 'include/asm-sh'; \
181 ln -fsn $(incdir-prefix) include/asm-sh/mach; \
182 fi; \
183 fi; \
184 done
173 @touch $@ 185 @touch $@
174 186
175archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools 187archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools