xref: /openbmc/u-boot/Makefile (revision 3bac351370ef7cbf9d2af27ba52bee1703ad677e)
1 7ebf7443Swdenk#
2 7ebf7443Swdenk# (C) Copyright 2000, 2001, 2002
3 7ebf7443Swdenk# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 7ebf7443Swdenk#
5 7ebf7443Swdenk# See file CREDITS for list of people who contributed to this
6 7ebf7443Swdenk# project.
7 7ebf7443Swdenk#
8 7ebf7443Swdenk# This program is free software; you can redistribute it and/or
9 7ebf7443Swdenk# modify it under the terms of the GNU General Public License as
10 7ebf7443Swdenk# published by the Free Software Foundation; either version 2 of
11 7ebf7443Swdenk# the License, or (at your option) any later version.
12 7ebf7443Swdenk#
13 7ebf7443Swdenk# This program is distributed in the hope that it will be useful,
14 7ebf7443Swdenk# but WITHOUT ANY WARRANTY; without even the implied warranty of
15 7ebf7443Swdenk# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 7ebf7443Swdenk# GNU General Public License for more details.
17 7ebf7443Swdenk#
18 7ebf7443Swdenk# You should have received a copy of the GNU General Public License
19 7ebf7443Swdenk# along with this program; if not, write to the Free Software
20 7ebf7443Swdenk# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 7ebf7443Swdenk# MA 02111-1307 USA
22 7ebf7443Swdenk#
23 7ebf7443Swdenk
24 7ebf7443SwdenkHOSTARCH := $(shell uname -m | \
25 7ebf7443Swdenk	sed -e s/i.86/i386/ \
26 7ebf7443Swdenk	    -e s/sun4u/sparc64/ \
27 7ebf7443Swdenk	    -e s/arm.*/arm/ \
28 7ebf7443Swdenk	    -e s/sa110/arm/ \
29 7ebf7443Swdenk	    -e s/powerpc/ppc/ \
30 7ebf7443Swdenk	    -e s/macppc/ppc/)
31 7ebf7443Swdenk
32 7ebf7443SwdenkHOSTOS := $(shell uname -s | tr A-Z a-z | \
33 7ebf7443Swdenk	    sed -e 's/\(cygwin\).*/cygwin/')
34 7ebf7443Swdenk
35 7ebf7443Swdenkexport	HOSTARCH
36 7ebf7443Swdenk
37 7ebf7443Swdenk# Deal with colliding definitions from tcsh etc.
38 7ebf7443SwdenkVENDOR=
39 7ebf7443Swdenk
40 7ebf7443Swdenk#########################################################################
41 7ebf7443Swdenk
42 7ebf7443SwdenkTOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
43 7ebf7443Swdenkexport	TOPDIR
44 7ebf7443Swdenk
45 7ebf7443Swdenkifeq (include/config.mk,$(wildcard include/config.mk))
46 7ebf7443Swdenk# load ARCH, BOARD, and CPU configuration
47 7ebf7443Swdenkinclude include/config.mk
48 7ebf7443Swdenkexport	ARCH CPU BOARD VENDOR
49 7ebf7443Swdenk# load other configuration
50 7ebf7443Swdenkinclude $(TOPDIR)/config.mk
51 7ebf7443Swdenk
52 7ebf7443Swdenkifndef CROSS_COMPILE
53 7ebf7443Swdenkifeq ($(HOSTARCH),ppc)
54 7ebf7443SwdenkCROSS_COMPILE =
55 7ebf7443Swdenkelse
56 7ebf7443Swdenkifeq ($(ARCH),ppc)
57 7ebf7443SwdenkCROSS_COMPILE = ppc_8xx-
58 7ebf7443Swdenkendif
59 7ebf7443Swdenkifeq ($(ARCH),arm)
60 7ebf7443SwdenkCROSS_COMPILE = arm_920TDI-
61 7ebf7443Swdenkendif
62 2262cfeeSwdenkifeq ($(ARCH),i386)
63 2262cfeeSwdenk#CROSS_COMPILE = i386-elf-
64 2262cfeeSwdenkendif
65 43d9616cSwdenkifeq ($(ARCH),mips)
66 43d9616cSwdenkCROSS_COMPILE = mips_4KC-
67 43d9616cSwdenkendif
68 7ebf7443Swdenkendif
69 7ebf7443Swdenkendif
70 7ebf7443Swdenk
71 7ebf7443Swdenkexport	CROSS_COMPILE
72 7ebf7443Swdenk
73 7ebf7443Swdenk# The "tools" are needed early, so put this first
74 7ebf7443SwdenkSUBDIRS	= tools \
75 7ebf7443Swdenk	  lib_generic \
76 7ebf7443Swdenk	  lib_$(ARCH) \
77 7ebf7443Swdenk	  cpu/$(CPU) \
78 7ebf7443Swdenk	  board/$(BOARDDIR) \
79 7ebf7443Swdenk	  common \
80 7ebf7443Swdenk	  disk \
81 7ebf7443Swdenk	  fs \
82 7ebf7443Swdenk	  net \
83 7ebf7443Swdenk	  rtc \
84 7ebf7443Swdenk	  dtt \
85 7ebf7443Swdenk	  drivers \
86 7ebf7443Swdenk	  post \
87 7ebf7443Swdenk	  post/cpu \
88 7ebf7443Swdenk	  examples
89 7ebf7443Swdenk
90 7ebf7443Swdenk#########################################################################
91 7ebf7443Swdenk# U-Boot objects....order is important (i.e. start must be first)
92 7ebf7443Swdenk
93 7ebf7443SwdenkOBJS  =	cpu/$(CPU)/start.o
94 2262cfeeSwdenkifeq ($(CPU),i386)
95 2262cfeeSwdenkOBJS +=	cpu/$(CPU)/start16.o
96 2262cfeeSwdenkOBJS +=	cpu/$(CPU)/reset.o
97 2262cfeeSwdenkendif
98 7ebf7443Swdenkifeq ($(CPU),ppc4xx)
99 7ebf7443SwdenkOBJS +=	cpu/$(CPU)/resetvec.o
100 7ebf7443Swdenkendif
101 7ebf7443Swdenk
102 7ebf7443SwdenkLIBS  =	board/$(BOARDDIR)/lib$(BOARD).a
103 7ebf7443SwdenkLIBS += cpu/$(CPU)/lib$(CPU).a
104 7ebf7443SwdenkLIBS += lib_$(ARCH)/lib$(ARCH).a
105 2262cfeeSwdenkLIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a
106 7ebf7443SwdenkLIBS += net/libnet.a
107 7ebf7443SwdenkLIBS += disk/libdisk.a
108 7ebf7443SwdenkLIBS += rtc/librtc.a
109 7ebf7443SwdenkLIBS += dtt/libdtt.a
110 7ebf7443SwdenkLIBS += drivers/libdrivers.a
111 7ebf7443SwdenkLIBS += post/libpost.a post/cpu/libcpu.a
112 7ebf7443SwdenkLIBS += common/libcommon.a
113 7ebf7443SwdenkLIBS += lib_generic/libgeneric.a
114 7ebf7443Swdenk
115 7ebf7443Swdenk#########################################################################
116 7ebf7443Swdenk
117 7ebf7443Swdenkall:		u-boot.srec u-boot.bin System.map
118 7ebf7443Swdenk
119 7ebf7443Swdenkinstall:	all
120 43d9616cSwdenk		-cp u-boot.bin /tftpboot/u-boot.bin
121 43d9616cSwdenk		-cp u-boot.bin /net/denx/tftpboot/u-boot.bin
122 7ebf7443Swdenk
123 7ebf7443Swdenku-boot.srec:	u-boot
124 7ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
125 7ebf7443Swdenk
126 7ebf7443Swdenku-boot.bin:	u-boot
127 7ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
128 7ebf7443Swdenk
129 7ebf7443Swdenku-boot.dis:	u-boot
130 7ebf7443Swdenk		$(OBJDUMP) -d $< > $@
131 7ebf7443Swdenk
132 7ebf7443Swdenku-boot:		depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
133 b2184c31Swdenk		$(LD) $(LDFLAGS) $(OBJS) \
134 b2184c31Swdenk			--start-group $(LIBS) --end-group \
135 b2184c31Swdenk			-Map u-boot.map -o u-boot
136 7ebf7443Swdenk
137 7ebf7443Swdenksubdirs:
138 7ebf7443Swdenk		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
139 7ebf7443Swdenk
140 7ebf7443Swdenkdepend dep:
141 7ebf7443Swdenk		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
142 7ebf7443Swdenk
143 7ebf7443Swdenktags:
144 7ebf7443Swdenk		ctags -w `find $(SUBDIRS) include \
145 7ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
146 7ebf7443Swdenk
147 7ebf7443Swdenketags:
148 7ebf7443Swdenk		etags -a `find $(SUBDIRS) include \
149 7ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
150 7ebf7443Swdenk
151 7ebf7443SwdenkSystem.map:	u-boot
152 7ebf7443Swdenk		@$(NM) $< | \
153 7ebf7443Swdenk		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
154 7ebf7443Swdenk		sort > System.map
155 7ebf7443Swdenk
156 7ebf7443Swdenk#########################################################################
157 7ebf7443Swdenkelse
158 7ebf7443Swdenkall install u-boot u-boot.srec depend dep:
159 7ebf7443Swdenk	@echo "System not configured - see README" >&2
160 7ebf7443Swdenk	@ exit 1
161 7ebf7443Swdenkendif
162 7ebf7443Swdenk
163 7ebf7443Swdenk#########################################################################
164 7ebf7443Swdenk
165 7ebf7443Swdenkunconfig:
166 7ebf7443Swdenk	rm -f include/config.h include/config.mk
167 7ebf7443Swdenk
168 7ebf7443Swdenk#========================================================================
169 7ebf7443Swdenk# PowerPC
170 7ebf7443Swdenk#========================================================================
171 7ebf7443Swdenk#########################################################################
172 7ebf7443Swdenk## MPC8xx Systems
173 7ebf7443Swdenk#########################################################################
174 7ebf7443Swdenk
175 7ebf7443SwdenkADS860_config:	unconfig
176 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
177 7ebf7443Swdenk
178 7ebf7443SwdenkAMX860_config	:	unconfig
179 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
180 7ebf7443Swdenk
181 7ebf7443Swdenkc2mon_config:		unconfig
182 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx c2mon
183 7ebf7443Swdenk
184 7ebf7443SwdenkCCM_config:		unconfig
185 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
186 7ebf7443Swdenk
187 7ebf7443Swdenkcogent_mpc8xx_config:	unconfig
188 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx cogent
189 7ebf7443Swdenk
190 *3bac3513SwdenkELPT860_config:		unconfig
191 *3bac3513Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
192 *3bac3513Swdenk
193 7ebf7443SwdenkESTEEM192E_config:	unconfig
194 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
195 7ebf7443Swdenk
196 7ebf7443SwdenkETX094_config	:	unconfig
197 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx etx094
198 7ebf7443Swdenk
199 7ebf7443SwdenkFADS823_config	\
200 7ebf7443SwdenkFADS850SAR_config \
201 7ebf7443SwdenkFADS860T_config:	unconfig
202 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
203 7ebf7443Swdenk
204 7ebf7443SwdenkFLAGADM_config:	unconfig
205 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx flagadm
206 7ebf7443Swdenk
207 7ebf7443SwdenkGEN860T_config: unconfig
208 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gen860t
209 7ebf7443Swdenk
210 7ebf7443SwdenkGENIETV_config:	unconfig
211 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx genietv
212 7ebf7443Swdenk
213 7ebf7443SwdenkGTH_config:	unconfig
214 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gth
215 7ebf7443Swdenk
216 7ebf7443Swdenkhermes_config	:	unconfig
217 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx hermes
218 7ebf7443Swdenk
219 7ebf7443SwdenkIAD210_config: unconfig
220 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
221 7ebf7443Swdenk
222 7ebf7443Swdenkxtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
223 7ebf7443Swdenk
224 7ebf7443SwdenkICU862_100MHz_config	\
225 7ebf7443SwdenkICU862_config: unconfig
226 7ebf7443Swdenk	@ >include/config.h
227 7ebf7443Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
228 7ebf7443Swdenk		{ echo "#define CONFIG_100MHz"	>>include/config.h ; \
229 7ebf7443Swdenk		  echo "... with 100MHz system clock" ; \
230 7ebf7443Swdenk		}
231 7ebf7443Swdenk	@./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
232 7ebf7443Swdenk
233 7ebf7443SwdenkIP860_config	:	unconfig
234 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx ip860
235 7ebf7443Swdenk
236 7ebf7443SwdenkIVML24_256_config \
237 7ebf7443SwdenkIVML24_128_config \
238 7ebf7443SwdenkIVML24_config:	unconfig
239 7ebf7443Swdenk	@ >include/config.h
240 7ebf7443Swdenk	@[ -z "$(findstring IVML24_config,$@)" ] || \
241 7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_16M"	>>include/config.h ; \
242 7ebf7443Swdenk		 }
243 7ebf7443Swdenk	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
244 7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_32M"	>>include/config.h ; \
245 7ebf7443Swdenk		 }
246 7ebf7443Swdenk	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
247 7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_64M"	>>include/config.h ; \
248 7ebf7443Swdenk		 }
249 7ebf7443Swdenk	@./mkconfig -a IVML24 ppc mpc8xx ivm
250 7ebf7443Swdenk
251 7ebf7443SwdenkIVMS8_256_config \
252 7ebf7443SwdenkIVMS8_128_config \
253 7ebf7443SwdenkIVMS8_config:	unconfig
254 7ebf7443Swdenk	@ >include/config.h
255 7ebf7443Swdenk	@[ -z "$(findstring IVMS8_config,$@)" ] || \
256 7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_16M"	>>include/config.h ; \
257 7ebf7443Swdenk		 }
258 7ebf7443Swdenk	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
259 7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_32M"	>>include/config.h ; \
260 7ebf7443Swdenk		 }
261 7ebf7443Swdenk	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
262 7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_64M"	>>include/config.h ; \
263 7ebf7443Swdenk		 }
264 7ebf7443Swdenk	@./mkconfig -a IVMS8 ppc mpc8xx ivm
265 7ebf7443Swdenk
266 56f94be3SwdenkKUP4K_config	:	unconfig
267 56f94be3Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx kup4k
268 56f94be3Swdenk
269 7ebf7443SwdenkLANTEC_config	:	unconfig
270 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lantec
271 7ebf7443Swdenk
272 7ebf7443Swdenklwmon_config:		unconfig
273 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lwmon
274 7ebf7443Swdenk
275 7ebf7443SwdenkMBX_config	\
276 7ebf7443SwdenkMBX860T_config:	unconfig
277 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
278 7ebf7443Swdenk
279 7ebf7443SwdenkMHPC_config:		unconfig
280 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
281 7ebf7443Swdenk
282 7ebf7443SwdenkMVS1_config :		unconfig
283 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mvs1
284 7ebf7443Swdenk
285 7ebf7443SwdenkNETVIA_config:		unconfig
286 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx netvia
287 7ebf7443Swdenk
288 7ebf7443SwdenkNX823_config:		unconfig
289 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx nx823
290 7ebf7443Swdenk
291 7ebf7443Swdenkpcu_e_config:		unconfig
292 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
293 7ebf7443Swdenk
294 7ebf7443SwdenkR360MPI_config:	unconfig
295 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
296 7ebf7443Swdenk
297 7ebf7443SwdenkRPXClassic_config:	unconfig
298 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
299 7ebf7443Swdenk
300 7ebf7443SwdenkRPXlite_config:		unconfig
301 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXlite
302 7ebf7443Swdenk
303 7ebf7443SwdenkRRvision_config:	unconfig
304 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RRvision
305 7ebf7443Swdenk
306 7ebf7443SwdenkRRvision_LCD_config:	unconfig
307 7ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
308 7ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
309 7ebf7443Swdenk	@./mkconfig -a RRvision ppc mpc8xx RRvision
310 7ebf7443Swdenk
311 7ebf7443SwdenkSM850_config	:	unconfig
312 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
313 7ebf7443Swdenk
314 7ebf7443SwdenkSPD823TS_config:	unconfig
315 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
316 7ebf7443Swdenk
317 7ebf7443SwdenkSXNI855T_config:	unconfig
318 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx sixnet
319 7ebf7443Swdenk
320 db2f721fSwdenk# EMK MPC8xx based modules
321 db2f721fSwdenkTOP860_config:		unconfig
322 db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx top860 emk
323 db2f721fSwdenk
324 7ebf7443Swdenk# Play some tricks for configuration selection
325 7ebf7443Swdenk# All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
326 7ebf7443Swdenk# but only 855 and 860 boards may come with FEC
327 7ebf7443Swdenk# and 823 boards may have LCD support
328 7ebf7443Swdenkxtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1)))))
329 7ebf7443Swdenk
330 7ebf7443SwdenkFPS850L_config		\
331 384ae025SwdenkFPS860L_config		\
332 7ebf7443SwdenkTQM823L_config		\
333 7ebf7443SwdenkTQM823L_66MHz_config	\
334 7ebf7443SwdenkTQM823L_80MHz_config	\
335 7ebf7443SwdenkTQM823L_LCD_config	\
336 7ebf7443SwdenkTQM823L_LCD_66MHz_config \
337 7ebf7443SwdenkTQM823L_LCD_80MHz_config \
338 7ebf7443SwdenkTQM850L_config		\
339 7ebf7443SwdenkTQM850L_66MHz_config	\
340 7ebf7443SwdenkTQM850L_80MHz_config	\
341 7ebf7443SwdenkTQM855L_config		\
342 7ebf7443SwdenkTQM855L_66MHz_config	\
343 7ebf7443SwdenkTQM855L_80MHz_config	\
344 7ebf7443SwdenkTQM855L_FEC_config	\
345 7ebf7443SwdenkTQM855L_FEC_66MHz_config \
346 7ebf7443SwdenkTQM855L_FEC_80MHz_config \
347 7ebf7443SwdenkTQM860L_config		\
348 7ebf7443SwdenkTQM860L_66MHz_config	\
349 7ebf7443SwdenkTQM860L_80MHz_config	\
350 7ebf7443SwdenkTQM860L_FEC_config	\
351 7ebf7443SwdenkTQM860L_FEC_66MHz_config	\
352 7ebf7443SwdenkTQM860L_FEC_80MHz_config:	unconfig
353 7ebf7443Swdenk	@ >include/config.h
354 7ebf7443Swdenk	@[ -z "$(findstring _FEC,$@)" ] || \
355 7ebf7443Swdenk		{ echo "#define CONFIG_FEC_ENET"	>>include/config.h ; \
356 7ebf7443Swdenk		  echo "... with FEC support" ; \
357 7ebf7443Swdenk		}
358 7ebf7443Swdenk	@[ -z "$(findstring _66MHz,$@)" ] || \
359 7ebf7443Swdenk		{ echo "#define CONFIG_66MHz"		>>include/config.h ; \
360 7ebf7443Swdenk		  echo "... with 66MHz system clock" ; \
361 7ebf7443Swdenk		}
362 7ebf7443Swdenk	@[ -z "$(findstring _80MHz,$@)" ] || \
363 7ebf7443Swdenk		{ echo "#define CONFIG_80MHz"		>>include/config.h ; \
364 7ebf7443Swdenk		  echo "... with 80MHz system clock" ; \
365 7ebf7443Swdenk		}
366 7ebf7443Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
367 7ebf7443Swdenk		{ echo "#define CONFIG_LCD"		>>include/config.h ; \
368 7ebf7443Swdenk		  echo "#define CONFIG_NEC_NL6648BC20"	>>include/config.h ; \
369 7ebf7443Swdenk		  echo "... with LCD display" ; \
370 7ebf7443Swdenk		}
371 7ebf7443Swdenk	@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
372 7ebf7443Swdenk
373 7ebf7443SwdenkTTTech_config:	unconfig
374 7ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
375 7ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
376 7ebf7443Swdenk	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
377 7ebf7443Swdenk
378 608c9146Swdenkv37_config:	unconfig
379 608c9146Swdenk	@echo "#define CONFIG_LCD" >include/config.h
380 608c9146Swdenk	@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
381 608c9146Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx v37
382 608c9146Swdenk
383 7ebf7443Swdenk#########################################################################
384 7ebf7443Swdenk## PPC4xx Systems
385 7ebf7443Swdenk#########################################################################
386 7ebf7443Swdenk
387 7ebf7443SwdenkADCIOP_config:	unconfig
388 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
389 7ebf7443Swdenk
390 7ebf7443SwdenkAR405_config:	unconfig
391 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
392 7ebf7443Swdenk
393 7ebf7443SwdenkCANBT_config:	unconfig
394 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx canbt esd
395 7ebf7443Swdenk
396 7ebf7443SwdenkCPCI405_config		\
397 7ebf7443SwdenkCPCI4052_config:	unconfig
398 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
399 7ebf7443Swdenk	@echo "BOARD_REVISION = $(@:_config=)"	>>include/config.mk
400 7ebf7443Swdenk
401 7ebf7443SwdenkCPCI440_config:	unconfig
402 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
403 7ebf7443Swdenk
404 7ebf7443SwdenkCPCIISER4_config:	unconfig
405 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
406 7ebf7443Swdenk
407 7ebf7443SwdenkCRAYL1_config:unconfig
408 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx L1 cray
409 7ebf7443Swdenk
410 7ebf7443SwdenkDASA_SIM_config: unconfig
411 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
412 7ebf7443Swdenk
413 7ebf7443SwdenkDU405_config:	unconfig
414 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
415 7ebf7443Swdenk
416 7ebf7443SwdenkEBONY_config:unconfig
417 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ebony
418 7ebf7443Swdenk
419 7ebf7443SwdenkERIC_config:unconfig
420 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx eric
421 7ebf7443Swdenk
422 7ebf7443SwdenkMIP405_config:unconfig
423 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
424 7ebf7443Swdenk
425 7ebf7443SwdenkML2_config:unconfig
426 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml2
427 7ebf7443Swdenk
428 7ebf7443SwdenkOCRTC_config		\
429 7ebf7443SwdenkORSG_config:	unconfig
430 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
431 7ebf7443Swdenk
432 7ebf7443SwdenkPCI405_config:	unconfig
433 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
434 7ebf7443Swdenk
435 7ebf7443SwdenkPIP405_config:unconfig
436 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
437 7ebf7443Swdenk
438 7ebf7443SwdenkW7OLMC_config	\
439 7ebf7443SwdenkW7OLMG_config: unconfig
440 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx w7o
441 7ebf7443Swdenk
442 7ebf7443SwdenkWALNUT405_config:unconfig
443 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx walnut405
444 7ebf7443Swdenk
445 7ebf7443Swdenk#########################################################################
446 7ebf7443Swdenk## MPC824x Systems
447 7ebf7443Swdenk#########################################################################
448 *3bac3513Swdenkxtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
449 *3bac3513Swdenk
450 7ebf7443SwdenkBMW_config: unconfig
451 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x bmw
452 7ebf7443Swdenk
453 *3bac3513SwdenkCPC45_config	\
454 *3bac3513SwdenkCPC45_ROMBOOT_config:	unconfig
455 *3bac3513Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
456 *3bac3513Swdenk	@cd ./include ;				\
457 *3bac3513Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
458 *3bac3513Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
459 *3bac3513Swdenk		echo "... booting from 8-bit flash" ; \
460 *3bac3513Swdenk	else \
461 *3bac3513Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
462 *3bac3513Swdenk		echo "... booting from 64-bit flash" ; \
463 *3bac3513Swdenk	fi; \
464 *3bac3513Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
465 *3bac3513Swdenk
466 7ebf7443SwdenkCU824_config: unconfig
467 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x cu824
468 7ebf7443Swdenk
469 7ebf7443SwdenkMOUSSE_config: unconfig
470 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mousse
471 7ebf7443Swdenk
472 7ebf7443SwdenkMUSENKI_config: unconfig
473 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x musenki
474 7ebf7443Swdenk
475 7ebf7443SwdenkOXC_config: unconfig
476 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x oxc
477 7ebf7443Swdenk
478 7ebf7443SwdenkPN62_config: unconfig
479 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x pn62
480 7ebf7443Swdenk
481 7ebf7443SwdenkSandpoint8240_config: unconfig
482 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
483 7ebf7443Swdenk
484 7ebf7443SwdenkSandpoint8245_config: unconfig
485 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
486 7ebf7443Swdenk
487 7ebf7443Swdenkutx8245_config: unconfig
488 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x utx8245
489 7ebf7443Swdenk
490 7ebf7443Swdenk#########################################################################
491 7ebf7443Swdenk## MPC8260 Systems
492 7ebf7443Swdenk#########################################################################
493 7ebf7443Swdenk
494 7ebf7443Swdenkcogent_mpc8260_config:	unconfig
495 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 cogent
496 7ebf7443Swdenk
497 7ebf7443SwdenkCPU86_config	\
498 7ebf7443SwdenkCPU86_ROMBOOT_config: unconfig
499 7ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
500 7ebf7443Swdenk	@cd ./include ;				\
501 7ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
502 7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
503 7ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
504 7ebf7443Swdenk	else \
505 7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
506 7ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
507 7ebf7443Swdenk	fi; \
508 7ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
509 7ebf7443Swdenk
510 7ebf7443Swdenkep8260_config:	unconfig
511 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ep8260
512 7ebf7443Swdenk
513 7ebf7443Swdenkgw8260_config:	unconfig
514 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 gw8260
515 7ebf7443Swdenk
516 7ebf7443Swdenkhymod_config:	unconfig
517 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 hymod
518 7ebf7443Swdenk
519 7ebf7443SwdenkIPHASE4539_config:	unconfig
520 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 iphase4539
521 7ebf7443Swdenk
522 7ebf7443SwdenkMPC8260ADS_config:	unconfig
523 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
524 7ebf7443Swdenk
525 db2f721fSwdenkMPC8266ADS_config:	unconfig
526 db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
527 db2f721fSwdenk
528 7ebf7443SwdenkPM826_config	\
529 7ebf7443SwdenkPM826_ROMBOOT_config: unconfig
530 7ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
531 7ebf7443Swdenk	@cd ./include ;				\
532 7ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
533 7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
534 7ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
535 7ebf7443Swdenk	else \
536 7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
537 7ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
538 7ebf7443Swdenk	fi; \
539 7ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk; \
540 7ebf7443Swdenk
541 7ebf7443Swdenkppmc8260_config:	unconfig
542 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
543 7ebf7443Swdenk
544 7ebf7443SwdenkRPXsuper_config:	unconfig
545 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
546 7ebf7443Swdenk
547 7ebf7443Swdenkrsdproto_config:	unconfig
548 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rsdproto
549 7ebf7443Swdenk
550 7ebf7443Swdenksacsng_config:	unconfig
551 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sacsng
552 7ebf7443Swdenk
553 7ebf7443Swdenksbc8260_config:	unconfig
554 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sbc8260
555 7ebf7443Swdenk
556 7ebf7443SwdenkSCM_config:		unconfig
557 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
558 7ebf7443Swdenk
559 7ebf7443SwdenkTQM8260_config	\
560 7ebf7443SwdenkTQM8260_L2_config	\
561 7ebf7443SwdenkTQM8260_266MHz_config	\
562 7ebf7443SwdenkTQM8260_L2_266MHz_config \
563 7ebf7443SwdenkTQM8260_300MHz_config:	unconfig
564 7ebf7443Swdenk	@ >include/config.h
565 7ebf7443Swdenk	@if [ "$(findstring _L2_,$@)" ] ; then \
566 7ebf7443Swdenk		echo "#define CONFIG_L2_CACHE"	>>include/config.h ; \
567 7ebf7443Swdenk		echo "... with L2 Cache support (60x Bus Mode)" ; \
568 7ebf7443Swdenk	else \
569 7ebf7443Swdenk		echo "#undef CONFIG_L2_CACHE"	>>include/config.h ; \
570 7ebf7443Swdenk		echo "... without L2 Cache support" ; \
571 7ebf7443Swdenk	fi
572 7ebf7443Swdenk	@[ -z "$(findstring _266MHz,$@)" ] || \
573 7ebf7443Swdenk		{ echo "#define CONFIG_266MHz"	>>include/config.h ; \
574 7ebf7443Swdenk		  echo "... with 266MHz system clock" ; \
575 7ebf7443Swdenk		}
576 7ebf7443Swdenk	@[ -z "$(findstring _300MHz,$@)" ] || \
577 7ebf7443Swdenk		{ echo "#define CONFIG_300MHz"	>>include/config.h ; \
578 7ebf7443Swdenk		  echo "... with 300MHz system clock" ; \
579 7ebf7443Swdenk		}
580 7ebf7443Swdenk	@./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260
581 7ebf7443Swdenk
582 7ebf7443Swdenk#########################################################################
583 7ebf7443Swdenk## 74xx/7xx Systems
584 7ebf7443Swdenk#########################################################################
585 7ebf7443Swdenk
586 c7de829cSwdenkAmigaOneG3SE_config:	unconfig
587 c7de829cSwdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
588 c7de829cSwdenk
589 7ebf7443SwdenkEVB64260_config	\
590 7ebf7443SwdenkEVB64260_750CX_config:	unconfig
591 7ebf7443Swdenk	@./mkconfig EVB64260 ppc 74xx_7xx evb64260
592 7ebf7443Swdenk
593 7ebf7443SwdenkZUMA_config:	unconfig
594 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
595 7ebf7443Swdenk
596 7ebf7443SwdenkPCIPPC2_config \
597 7ebf7443SwdenkPCIPPC6_config: unconfig
598 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
599 7ebf7443Swdenk
600 7ebf7443SwdenkBAB7xx_config: unconfig
601 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
602 7ebf7443Swdenk
603 7ebf7443SwdenkELPPC_config: unconfig
604 7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
605 7ebf7443Swdenk
606 7ebf7443Swdenk#========================================================================
607 7ebf7443Swdenk# ARM
608 7ebf7443Swdenk#========================================================================
609 7ebf7443Swdenk#########################################################################
610 7ebf7443Swdenk## StrongARM Systems
611 7ebf7443Swdenk#########################################################################
612 7ebf7443Swdenk
613 7ebf7443Swdenklart_config	:	unconfig
614 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 lart
615 7ebf7443Swdenk
616 7ebf7443Swdenkdnp1110_config	:	unconfig
617 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 dnp1110
618 7ebf7443Swdenk
619 7ebf7443Swdenkshannon_config	:	unconfig
620 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 shannon
621 7ebf7443Swdenk
622 7ebf7443Swdenk#########################################################################
623 7ebf7443Swdenk## ARM920T Systems
624 7ebf7443Swdenk#########################################################################
625 7ebf7443Swdenk
626 43d9616cSwdenkxtract_trab = $(subst _big_flash,,$(subst _config,,$1))
627 43d9616cSwdenk
628 7ebf7443Swdenksmdk2400_config	:	unconfig
629 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2400
630 7ebf7443Swdenk
631 7ebf7443Swdenksmdk2410_config	:	unconfig
632 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2410
633 7ebf7443Swdenk
634 43d9616cSwdenktrab_config \
635 43d9616cSwdenktrab_big_flash_config:	unconfig
636 43d9616cSwdenk	@ >include/config.h
637 43d9616cSwdenk	@[ -z "$(findstring _big_flash,$@)" ] || \
638 43d9616cSwdenk		{ echo "#define CONFIG_BIG_FLASH" >>include/config.h ; \
639 43d9616cSwdenk		  echo "... with big flash support" ; \
640 43d9616cSwdenk		}
641 43d9616cSwdenk	@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
642 7ebf7443Swdenk
643 1cb8e980SwdenkVCMA9_config	:	unconfig
644 1cb8e980Swdenk	@./mkconfig $(@:_config=) arm arm920t vcma9 mpl
645 1cb8e980Swdenk
646 7ebf7443Swdenk#########################################################################
647 7ebf7443Swdenk## ARM720T Systems
648 7ebf7443Swdenk#########################################################################
649 7ebf7443Swdenk
650 7ebf7443Swdenkimpa7_config	:	unconfig
651 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t impa7
652 7ebf7443Swdenk
653 7ebf7443Swdenkep7312_config	:	unconfig
654 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t ep7312
655 7ebf7443Swdenk
656 7ebf7443Swdenk#########################################################################
657 43d9616cSwdenk## XScale Systems
658 7ebf7443Swdenk#########################################################################
659 7ebf7443Swdenk
660 7ebf7443Swdenkcradle_config	:	unconfig
661 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm xscale cradle
662 7ebf7443Swdenk
663 7ebf7443Swdenkcsb226_config	:	unconfig
664 7ebf7443Swdenk	@./mkconfig $(@:_config=) arm xscale csb226
665 7ebf7443Swdenk
666 43d9616cSwdenkinnokom_config	:	unconfig
667 43d9616cSwdenk	@./mkconfig $(@:_config=) arm xscale innokom
668 43d9616cSwdenk
669 43d9616cSwdenklubbock_config	:	unconfig
670 43d9616cSwdenk	@./mkconfig $(@:_config=) arm xscale lubbock
671 43d9616cSwdenk
672 2262cfeeSwdenk#========================================================================
673 2262cfeeSwdenk# i386
674 2262cfeeSwdenk#========================================================================
675 2262cfeeSwdenk#########################################################################
676 2262cfeeSwdenk## AMD SC520 CDP
677 2262cfeeSwdenk#########################################################################
678 2262cfeeSwdenksc520_cdp_config	:	unconfig
679 2262cfeeSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_cdp
680 2262cfeeSwdenk
681 43d9616cSwdenk#========================================================================
682 43d9616cSwdenk# MIPS
683 43d9616cSwdenk#========================================================================
684 7ebf7443Swdenk#########################################################################
685 43d9616cSwdenk## MIPS32 4Kc
686 43d9616cSwdenk#########################################################################
687 43d9616cSwdenk
688 43d9616cSwdenkincaip_config :		unconfig
689 43d9616cSwdenk	@./mkconfig $(@:_config=) mips mips incaip
690 43d9616cSwdenk
691 43d9616cSwdenk
692 7ebf7443Swdenk
693 7ebf7443Swdenkclean:
694 7ebf7443Swdenk	find . -type f \
695 7ebf7443Swdenk		\( -name 'core' -o -name '*.bak' -o -name '*~' \
696 7ebf7443Swdenk		-o -name '*.o'  -o -name '*.a'  \) -print \
697 7ebf7443Swdenk		| xargs rm -f
698 7ebf7443Swdenk	rm -f examples/hello_world examples/timer examples/eepro100_eeprom
699 7ebf7443Swdenk	rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
700 7ebf7443Swdenk	rm -f tools/easylogo/easylogo tools/bmp_logo
701 7ebf7443Swdenk	rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
702 228f29acSwdenk	rm -f tools/env/fw_printenv tools/env/fw_setenv
703 7ebf7443Swdenk
704 7ebf7443Swdenkclobber:	clean
705 7ebf7443Swdenk	find . -type f \
706 7ebf7443Swdenk		\( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
707 7ebf7443Swdenk		-print \
708 7ebf7443Swdenk		| xargs rm -f
709 7ebf7443Swdenk	rm -f $(OBJS) *.bak tags TAGS
710 7ebf7443Swdenk	rm -fr *.*~
711 7ebf7443Swdenk	rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map
712 228f29acSwdenk	rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
713 43d9616cSwdenk	rm -f cpu/mpc824x/bedbug_603e.c
714 7ebf7443Swdenk	rm -f include/asm/arch include/asm
715 7ebf7443Swdenk
716 7ebf7443Swdenkmrproper \
717 7ebf7443Swdenkdistclean:	clobber unconfig
718 7ebf7443Swdenk
719 7ebf7443Swdenkbackup:
720 7ebf7443Swdenk	F=`basename $(TOPDIR)` ; cd .. ; \
721 7ebf7443Swdenk	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
722 7ebf7443Swdenk
723 7ebf7443Swdenk#########################################################################
724