xref: /openbmc/u-boot/Makefile (revision 7f70e853)
1#
2# (C) Copyright 2000, 2001, 2002
3# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4#
5# See file CREDITS for list of people who contributed to this
6# project.
7#
8# This program is free software; you can redistribute it and/or
9# modify it under the terms of the GNU General Public License as
10# published by the Free Software Foundation; either version 2 of
11# the License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21# MA 02111-1307 USA
22#
23
24HOSTARCH := $(shell uname -m | \
25	sed -e s/i.86/i386/ \
26	    -e s/sun4u/sparc64/ \
27	    -e s/arm.*/arm/ \
28	    -e s/sa110/arm/ \
29	    -e s/powerpc/ppc/ \
30	    -e s/macppc/ppc/)
31
32HOSTOS := $(shell uname -s | tr A-Z a-z | \
33	    sed -e 's/\(cygwin\).*/cygwin/')
34
35export	HOSTARCH
36
37# Deal with colliding definitions from tcsh etc.
38VENDOR=
39
40#########################################################################
41
42TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
43export	TOPDIR
44
45ifeq (include/config.mk,$(wildcard include/config.mk))
46# load ARCH, BOARD, and CPU configuration
47include include/config.mk
48export	ARCH CPU BOARD VENDOR
49# load other configuration
50include $(TOPDIR)/config.mk
51
52ifndef CROSS_COMPILE
53ifeq ($(HOSTARCH),ppc)
54CROSS_COMPILE =
55else
56ifeq ($(ARCH),ppc)
57CROSS_COMPILE = ppc_8xx-
58endif
59ifeq ($(ARCH),arm)
60CROSS_COMPILE = arm-linux-
61endif
62ifeq ($(ARCH),i386)
63#CROSS_COMPILE = i386-elf-
64endif
65ifeq ($(ARCH),mips)
66CROSS_COMPILE = mips_4KC-
67endif
68endif
69endif
70
71export	CROSS_COMPILE
72
73# The "tools" are needed early, so put this first
74SUBDIRS	= tools \
75	  lib_generic \
76	  lib_$(ARCH) \
77	  cpu/$(CPU) \
78	  board/$(BOARDDIR) \
79	  common \
80	  disk \
81	  fs \
82	  net \
83	  rtc \
84	  dtt \
85	  drivers \
86	  post \
87	  post/cpu \
88	  examples
89
90#########################################################################
91# U-Boot objects....order is important (i.e. start must be first)
92
93OBJS  =	cpu/$(CPU)/start.o
94ifeq ($(CPU),i386)
95OBJS +=	cpu/$(CPU)/start16.o
96OBJS +=	cpu/$(CPU)/reset.o
97endif
98ifeq ($(CPU),ppc4xx)
99OBJS +=	cpu/$(CPU)/resetvec.o
100endif
101
102LIBS  =	board/$(BOARDDIR)/lib$(BOARD).a
103LIBS += cpu/$(CPU)/lib$(CPU).a
104LIBS += lib_$(ARCH)/lib$(ARCH).a
105LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a
106LIBS += net/libnet.a
107LIBS += disk/libdisk.a
108LIBS += rtc/librtc.a
109LIBS += dtt/libdtt.a
110LIBS += drivers/libdrivers.a
111LIBS += post/libpost.a post/cpu/libcpu.a
112LIBS += common/libcommon.a
113LIBS += lib_generic/libgeneric.a
114
115#########################################################################
116
117all:		u-boot.srec u-boot.bin System.map
118
119install:	all
120		-cp u-boot.bin /tftpboot/u-boot.bin
121		-cp u-boot.bin /net/denx/tftpboot/u-boot.bin
122
123u-boot.srec:	u-boot
124		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
125
126u-boot.bin:	u-boot
127		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
128
129u-boot.dis:	u-boot
130		$(OBJDUMP) -d $< > $@
131
132u-boot:		depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
133		$(LD) $(LDFLAGS) $(OBJS) \
134			--start-group $(LIBS) --end-group \
135			-Map u-boot.map -o u-boot
136
137subdirs:
138		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
139
140depend dep:
141		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
142
143tags:
144		ctags -w `find $(SUBDIRS) include \
145			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
146
147etags:
148		etags -a `find $(SUBDIRS) include \
149			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
150
151System.map:	u-boot
152		@$(NM) $< | \
153		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
154		sort > System.map
155
156#########################################################################
157else
158all install u-boot u-boot.srec depend dep:
159	@echo "System not configured - see README" >&2
160	@ exit 1
161endif
162
163#########################################################################
164
165unconfig:
166	rm -f include/config.h include/config.mk
167
168#========================================================================
169# PowerPC
170#========================================================================
171
172#########################################################################
173## MPC5xx Systems
174#########################################################################
175
176cmi_mpc5xx_config:	unconfig
177	@./mkconfig $(@:_config=) ppc mpc5xx cmi
178
179#########################################################################
180## MPC8xx Systems
181#########################################################################
182
183ADS860_config:	unconfig
184	@./mkconfig $(@:_config=) ppc mpc8xx fads
185
186AMX860_config	:	unconfig
187	@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
188
189c2mon_config:		unconfig
190	@./mkconfig $(@:_config=) ppc mpc8xx c2mon
191
192CCM_config:		unconfig
193	@./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
194
195cogent_mpc8xx_config:	unconfig
196	@./mkconfig $(@:_config=) ppc mpc8xx cogent
197
198ELPT860_config:		unconfig
199	@./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
200
201ESTEEM192E_config:	unconfig
202	@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
203
204ETX094_config	:	unconfig
205	@./mkconfig $(@:_config=) ppc mpc8xx etx094
206
207FADS823_config	\
208FADS850SAR_config \
209FADS860T_config:	unconfig
210	@./mkconfig $(@:_config=) ppc mpc8xx fads
211
212FLAGADM_config:	unconfig
213	@./mkconfig $(@:_config=) ppc mpc8xx flagadm
214
215xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
216
217GEN860T_SC_config	\
218GEN860T_config: unconfig
219	@ >include/config.h
220	@[ -z "$(findstring _SC,$@)" ] || \
221		{ echo "#define CONFIG_SC" >>include/config.h ; \
222		  echo "With reduced H/W feature set (SC)..." ; \
223		}
224	@./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
225
226GENIETV_config:	unconfig
227	@./mkconfig $(@:_config=) ppc mpc8xx genietv
228
229GTH_config:	unconfig
230	@./mkconfig $(@:_config=) ppc mpc8xx gth
231
232hermes_config	:	unconfig
233	@./mkconfig $(@:_config=) ppc mpc8xx hermes
234
235IAD210_config: unconfig
236	@./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
237
238xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
239
240ICU862_100MHz_config	\
241ICU862_config: unconfig
242	@ >include/config.h
243	@[ -z "$(findstring _100MHz,$@)" ] || \
244		{ echo "#define CONFIG_100MHz"	>>include/config.h ; \
245		  echo "... with 100MHz system clock" ; \
246		}
247	@./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
248
249IP860_config	:	unconfig
250	@./mkconfig $(@:_config=) ppc mpc8xx ip860
251
252IVML24_256_config \
253IVML24_128_config \
254IVML24_config:	unconfig
255	@ >include/config.h
256	@[ -z "$(findstring IVML24_config,$@)" ] || \
257		 { echo "#define CONFIG_IVML24_16M"	>>include/config.h ; \
258		 }
259	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
260		 { echo "#define CONFIG_IVML24_32M"	>>include/config.h ; \
261		 }
262	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
263		 { echo "#define CONFIG_IVML24_64M"	>>include/config.h ; \
264		 }
265	@./mkconfig -a IVML24 ppc mpc8xx ivm
266
267IVMS8_256_config \
268IVMS8_128_config \
269IVMS8_config:	unconfig
270	@ >include/config.h
271	@[ -z "$(findstring IVMS8_config,$@)" ] || \
272		 { echo "#define CONFIG_IVMS8_16M"	>>include/config.h ; \
273		 }
274	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
275		 { echo "#define CONFIG_IVMS8_32M"	>>include/config.h ; \
276		 }
277	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
278		 { echo "#define CONFIG_IVMS8_64M"	>>include/config.h ; \
279		 }
280	@./mkconfig -a IVMS8 ppc mpc8xx ivm
281
282KUP4K_config	:	unconfig
283	@./mkconfig $(@:_config=) ppc mpc8xx kup4k
284
285LANTEC_config	:	unconfig
286	@./mkconfig $(@:_config=) ppc mpc8xx lantec
287
288lwmon_config:		unconfig
289	@./mkconfig $(@:_config=) ppc mpc8xx lwmon
290
291MBX_config	\
292MBX860T_config:	unconfig
293	@./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
294
295MHPC_config:		unconfig
296	@./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
297
298MVS1_config :		unconfig
299	@./mkconfig $(@:_config=) ppc mpc8xx mvs1
300
301NETVIA_config:		unconfig
302	@./mkconfig $(@:_config=) ppc mpc8xx netvia
303
304NX823_config:		unconfig
305	@./mkconfig $(@:_config=) ppc mpc8xx nx823
306
307pcu_e_config:		unconfig
308	@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
309
310R360MPI_config:	unconfig
311	@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
312
313RPXClassic_config:	unconfig
314	@./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
315
316RPXlite_config:		unconfig
317	@./mkconfig $(@:_config=) ppc mpc8xx RPXlite
318
319RRvision_config:	unconfig
320	@./mkconfig $(@:_config=) ppc mpc8xx RRvision
321
322RRvision_LCD_config:	unconfig
323	@echo "#define CONFIG_LCD" >include/config.h
324	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
325	@./mkconfig -a RRvision ppc mpc8xx RRvision
326
327SM850_config	:	unconfig
328	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
329
330SPD823TS_config:	unconfig
331	@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
332
333svm_sc8xx_config:	unconfig
334	@ >include/config.h
335	@./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
336
337SXNI855T_config:	unconfig
338	@./mkconfig $(@:_config=) ppc mpc8xx sixnet
339
340# EMK MPC8xx based modules
341TOP860_config:		unconfig
342	@./mkconfig $(@:_config=) ppc mpc8xx top860 emk
343
344# Play some tricks for configuration selection
345# All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
346# but only 855 and 860 boards may come with FEC
347# and 823 boards may have LCD support
348xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _config,,$1))))
349
350FPS850L_config		\
351FPS860L_config		\
352TQM823L_config		\
353TQM823L_66MHz_config	\
354TQM823L_80MHz_config	\
355TQM823L_LCD_config	\
356TQM823L_LCD_66MHz_config \
357TQM823L_LCD_80MHz_config \
358TQM850L_config		\
359TQM850L_66MHz_config	\
360TQM850L_80MHz_config	\
361TQM855L_config		\
362TQM855L_66MHz_config	\
363TQM855L_80MHz_config	\
364TQM860L_config		\
365TQM860L_66MHz_config	\
366TQM860L_80MHz_config	\
367TQM862L_config		\
368TQM862L_66MHz_config	\
369TQM862L_80MHz_config:	unconfig
370	@ >include/config.h
371	@[ -z "$(findstring _66MHz,$@)" ] || \
372		{ echo "#define CONFIG_66MHz"		>>include/config.h ; \
373		  echo "... with 66MHz system clock" ; \
374		}
375	@[ -z "$(findstring _80MHz,$@)" ] || \
376		{ echo "#define CONFIG_80MHz"		>>include/config.h ; \
377		  echo "... with 80MHz system clock" ; \
378		}
379	@[ -z "$(findstring _LCD,$@)" ] || \
380		{ echo "#define CONFIG_LCD"		>>include/config.h ; \
381		  echo "#define CONFIG_NEC_NL6648BC20"	>>include/config.h ; \
382		  echo "... with LCD display" ; \
383		}
384	@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
385
386TTTech_config:	unconfig
387	@echo "#define CONFIG_LCD" >include/config.h
388	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
389	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
390
391v37_config:	unconfig
392	@echo "#define CONFIG_LCD" >include/config.h
393	@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
394	@./mkconfig $(@:_config=) ppc mpc8xx v37
395
396#########################################################################
397## PPC4xx Systems
398#########################################################################
399
400ADCIOP_config:	unconfig
401	@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
402
403AR405_config:	unconfig
404	@./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
405
406CANBT_config:	unconfig
407	@./mkconfig $(@:_config=) ppc ppc4xx canbt esd
408
409CPCI405_config		\
410CPCI4052_config:	unconfig
411	@./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
412	@echo "BOARD_REVISION = $(@:_config=)"	>>include/config.mk
413
414CPCI440_config:	unconfig
415	@./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
416
417CPCIISER4_config:	unconfig
418	@./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
419
420CRAYL1_config:unconfig
421	@./mkconfig $(@:_config=) ppc ppc4xx L1 cray
422
423DASA_SIM_config: unconfig
424	@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
425
426DU405_config:	unconfig
427	@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
428
429EBONY_config:unconfig
430	@./mkconfig $(@:_config=) ppc ppc4xx ebony
431
432ERIC_config:unconfig
433	@./mkconfig $(@:_config=) ppc ppc4xx eric
434
435MIP405_config:unconfig
436	@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
437
438ML2_config:unconfig
439	@./mkconfig $(@:_config=) ppc ppc4xx ml2
440
441OCRTC_config		\
442ORSG_config:	unconfig
443	@./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
444
445PCI405_config:	unconfig
446	@./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
447
448PIP405_config:unconfig
449	@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
450
451W7OLMC_config	\
452W7OLMG_config: unconfig
453	@./mkconfig $(@:_config=) ppc ppc4xx w7o
454
455WALNUT405_config:unconfig
456	@./mkconfig $(@:_config=) ppc ppc4xx walnut405
457
458#########################################################################
459## MPC824x Systems
460#########################################################################
461xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
462
463BMW_config: unconfig
464	@./mkconfig $(@:_config=) ppc mpc824x bmw
465
466CPC45_config	\
467CPC45_ROMBOOT_config:	unconfig
468	@./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
469	@cd ./include ;				\
470	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
471		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
472		echo "... booting from 8-bit flash" ; \
473	else \
474		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
475		echo "... booting from 64-bit flash" ; \
476	fi; \
477	echo "export CONFIG_BOOT_ROM" >> config.mk;
478
479CU824_config: unconfig
480	@./mkconfig $(@:_config=) ppc mpc824x cu824
481
482MOUSSE_config: unconfig
483	@./mkconfig $(@:_config=) ppc mpc824x mousse
484
485MUSENKI_config: unconfig
486	@./mkconfig $(@:_config=) ppc mpc824x musenki
487
488OXC_config: unconfig
489	@./mkconfig $(@:_config=) ppc mpc824x oxc
490
491PN62_config: unconfig
492	@./mkconfig $(@:_config=) ppc mpc824x pn62
493
494Sandpoint8240_config: unconfig
495	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
496
497Sandpoint8245_config: unconfig
498	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
499
500utx8245_config: unconfig
501	@./mkconfig $(@:_config=) ppc mpc824x utx8245
502
503#########################################################################
504## MPC8260 Systems
505#########################################################################
506
507cogent_mpc8260_config:	unconfig
508	@./mkconfig $(@:_config=) ppc mpc8260 cogent
509
510CPU86_config	\
511CPU86_ROMBOOT_config: unconfig
512	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
513	@cd ./include ;				\
514	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
515		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
516		echo "... booting from 8-bit flash" ; \
517	else \
518		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
519		echo "... booting from 64-bit flash" ; \
520	fi; \
521	echo "export CONFIG_BOOT_ROM" >> config.mk;
522
523ep8260_config:	unconfig
524	@./mkconfig $(@:_config=) ppc mpc8260 ep8260
525
526gw8260_config:	unconfig
527	@./mkconfig $(@:_config=) ppc mpc8260 gw8260
528
529hymod_config:	unconfig
530	@./mkconfig $(@:_config=) ppc mpc8260 hymod
531
532IPHASE4539_config:	unconfig
533	@./mkconfig $(@:_config=) ppc mpc8260 iphase4539
534
535MPC8260ADS_config:	unconfig
536	@./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
537
538MPC8266ADS_config:	unconfig
539	@./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
540
541PM825_config	\
542PM825_ROMBOOT_config: unconfig
543	@echo "#define CONFIG_PCI"	>include/config.h
544	@./mkconfig -a PM826 ppc mpc8260 pm826
545	@cd ./include ;				\
546	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
547		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
548		echo "... booting from 8-bit flash" ; \
549	else \
550		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
551		echo "... booting from 64-bit flash" ; \
552	fi; \
553	echo "export CONFIG_BOOT_ROM" >> config.mk; \
554
555PM826_config	\
556PM826_ROMBOOT_config: unconfig
557	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
558	@cd ./include ;				\
559	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
560		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
561		echo "... booting from 8-bit flash" ; \
562	else \
563		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
564		echo "... booting from 64-bit flash" ; \
565	fi; \
566	echo "export CONFIG_BOOT_ROM" >> config.mk; \
567
568ppmc8260_config:	unconfig
569	@./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
570
571RPXsuper_config:	unconfig
572	@./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
573
574rsdproto_config:	unconfig
575	@./mkconfig $(@:_config=) ppc mpc8260 rsdproto
576
577sacsng_config:	unconfig
578	@./mkconfig $(@:_config=) ppc mpc8260 sacsng
579
580sbc8260_config:	unconfig
581	@./mkconfig $(@:_config=) ppc mpc8260 sbc8260
582
583SCM_config:		unconfig
584	@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
585
586TQM8255_config	\
587TQM8260_config	\
588TQM8260_L2_config	\
589TQM8255_266MHz_config	\
590TQM8260_266MHz_config	\
591TQM8260_L2_266MHz_config \
592TQM8255_300MHz_config	\
593TQM8260_300MHz_config:	unconfig
594	@ >include/config.h
595	@if [ "$(findstring _L2_,$@)" ] ; then \
596		echo "#define CONFIG_L2_CACHE"	>>include/config.h ; \
597		echo "... with L2 Cache support (60x Bus Mode)" ; \
598	else \
599		echo "#undef CONFIG_L2_CACHE"	>>include/config.h ; \
600		echo "... without L2 Cache support" ; \
601	fi
602	@[ -z "$(findstring _266MHz,$@)" ] || \
603		{ echo "#define CONFIG_266MHz"	>>include/config.h ; \
604		  echo "... with 266MHz system clock" ; \
605		}
606	@[ -z "$(findstring _300MHz,$@)" ] || \
607		{ echo "#define CONFIG_300MHz"	>>include/config.h ; \
608		  echo "... with 300MHz system clock" ; \
609		}
610	@[ -z "$(findstring TQM8255_,$@)" ] || \
611		{ echo "#define CONFIG_MPC8255"	>>include/config.h ; }
612	@./mkconfig -a TQM8260 ppc mpc8260 tqm8260
613
614atc_config:	unconfig
615	@./mkconfig $(@:_config=) ppc mpc8260 atc
616
617#########################################################################
618## 74xx/7xx Systems
619#########################################################################
620
621AmigaOneG3SE_config:	unconfig
622	@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
623
624EVB64260_config	\
625EVB64260_750CX_config:	unconfig
626	@./mkconfig EVB64260 ppc 74xx_7xx evb64260
627
628ZUMA_config:	unconfig
629	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
630
631PCIPPC2_config \
632PCIPPC6_config: unconfig
633	@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
634
635BAB7xx_config: unconfig
636	@./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
637
638ELPPC_config: unconfig
639	@./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
640
641#========================================================================
642# ARM
643#========================================================================
644#########################################################################
645## StrongARM Systems
646#########################################################################
647
648at91rm9200dk_config	:	unconfig
649	@./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
650
651lart_config	:	unconfig
652	@./mkconfig $(@:_config=) arm sa1100 lart
653
654dnp1110_config	:	unconfig
655	@./mkconfig $(@:_config=) arm sa1100 dnp1110
656
657shannon_config	:	unconfig
658	@./mkconfig $(@:_config=) arm sa1100 shannon
659
660#########################################################################
661## ARM920T Systems
662#########################################################################
663
664xtract_trab = $(subst _big_flash,,$(subst _config,,$1))
665
666smdk2400_config	:	unconfig
667	@./mkconfig $(@:_config=) arm arm920t smdk2400
668
669smdk2410_config	:	unconfig
670	@./mkconfig $(@:_config=) arm arm920t smdk2410
671
672trab_config \
673trab_big_flash_config:	unconfig
674	@ >include/config.h
675	@[ -z "$(findstring _big_flash,$@)" ] || \
676		{ echo "#define CONFIG_BIG_FLASH" >>include/config.h ; \
677		  echo "... with big flash support" ; \
678		}
679	@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
680
681VCMA9_config	:	unconfig
682	@./mkconfig $(@:_config=) arm arm920t vcma9 mpl
683
684#########################################################################
685## ARM720T Systems
686#########################################################################
687
688impa7_config	:	unconfig
689	@./mkconfig $(@:_config=) arm arm720t impa7
690
691ep7312_config	:	unconfig
692	@./mkconfig $(@:_config=) arm arm720t ep7312
693
694#########################################################################
695## XScale Systems
696#########################################################################
697
698cradle_config	:	unconfig
699	@./mkconfig $(@:_config=) arm xscale cradle
700
701csb226_config	:	unconfig
702	@./mkconfig $(@:_config=) arm xscale csb226
703
704innokom_config	:	unconfig
705	@./mkconfig $(@:_config=) arm xscale innokom
706
707lubbock_config	:	unconfig
708	@./mkconfig $(@:_config=) arm xscale lubbock
709
710wepep250_config	:	unconfig
711	@./mkconfig $(@:_config=) arm xscale wepep250
712
713#========================================================================
714# i386
715#========================================================================
716#########################################################################
717## AMD SC520 CDP
718#########################################################################
719sc520_cdp_config	:	unconfig
720	@./mkconfig $(@:_config=) i386 i386 sc520_cdp
721
722#========================================================================
723# MIPS
724#========================================================================
725#########################################################################
726## MIPS32 4Kc
727#########################################################################
728
729incaip_config :		unconfig
730	@./mkconfig $(@:_config=) mips mips incaip
731
732purple_config :		unconfig
733	@./mkconfig $(@:_config=) mips mips purple
734
735#########################################################################
736#########################################################################
737
738clean:
739	find . -type f \
740		\( -name 'core' -o -name '*.bak' -o -name '*~' \
741		-o -name '*.o'  -o -name '*.a'  \) -print \
742		| xargs rm -f
743	rm -f examples/hello_world examples/timer \
744	      examples/eepro100_eeprom examples/sched \
745	      examples/mem_to_mem_idma2intr
746	rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
747	rm -f tools/easylogo/easylogo tools/bmp_logo
748	rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
749	rm -f tools/env/fw_printenv tools/env/fw_setenv
750	rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
751
752clobber:	clean
753	find . -type f \
754		\( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
755		-print \
756		| xargs rm -f
757	rm -f $(OBJS) *.bak tags TAGS
758	rm -fr *.*~
759	rm -f u-boot u-boot.bin u-boot.srec u-boot.map System.map
760	rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
761	rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
762	rm -f include/asm/arch include/asm
763
764mrproper \
765distclean:	clobber unconfig
766
767backup:
768	F=`basename $(TOPDIR)` ; cd .. ; \
769	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
770
771#########################################################################
772