xref: /openbmc/u-boot/Makefile (revision 7ebf7443ad018a0647f549a835a55f0c08d7a15d)
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*7ebf7443Swdenk##  #ifeq ($(CPU),mpc8xx)
57*7ebf7443Swdenk##  CROSS_COMPILE = ppc_8xx-
58*7ebf7443Swdenk##  #endif
59*7ebf7443Swdenk##  #ifeq ($(CPU),ppc4xx)
60*7ebf7443Swdenk##  #CROSS_COMPILE = ppc_4xx-
61*7ebf7443Swdenk##  #endif
62*7ebf7443Swdenk##  #ifeq ($(CPU),mpc824x)
63*7ebf7443Swdenk##  #CROSS_COMPILE = ppc_82xx-
64*7ebf7443Swdenk##  #endif
65*7ebf7443Swdenk##  #ifeq ($(CPU),mpc8260)
66*7ebf7443Swdenk##  #CROSS_COMPILE = ppc_82xx-
67*7ebf7443Swdenk##  #endif
68*7ebf7443Swdenk##  #ifeq ($(CPU),74xx_7xx)
69*7ebf7443Swdenk##  #CROSS_COMPILE = ppc_74xx-)
70*7ebf7443Swdenk##  #endif
71*7ebf7443Swdenkifeq ($(ARCH),ppc)
72*7ebf7443SwdenkCROSS_COMPILE = ppc_8xx-
73*7ebf7443Swdenkendif
74*7ebf7443Swdenkifeq ($(ARCH),arm)
75*7ebf7443SwdenkCROSS_COMPILE = arm_920TDI-
76*7ebf7443Swdenkendif
77*7ebf7443Swdenkendif
78*7ebf7443Swdenkendif
79*7ebf7443Swdenk
80*7ebf7443Swdenkexport	CROSS_COMPILE
81*7ebf7443Swdenk
82*7ebf7443Swdenk# The "tools" are needed early, so put this first
83*7ebf7443SwdenkSUBDIRS	= tools \
84*7ebf7443Swdenk	  lib_generic \
85*7ebf7443Swdenk	  lib_$(ARCH) \
86*7ebf7443Swdenk	  cpu/$(CPU) \
87*7ebf7443Swdenk	  board/$(BOARDDIR) \
88*7ebf7443Swdenk	  common \
89*7ebf7443Swdenk	  disk \
90*7ebf7443Swdenk	  fs \
91*7ebf7443Swdenk	  net \
92*7ebf7443Swdenk	  rtc \
93*7ebf7443Swdenk	  dtt \
94*7ebf7443Swdenk	  drivers \
95*7ebf7443Swdenk	  post \
96*7ebf7443Swdenk	  post/cpu \
97*7ebf7443Swdenk	  examples
98*7ebf7443Swdenk
99*7ebf7443Swdenk#########################################################################
100*7ebf7443Swdenk# U-Boot objects....order is important (i.e. start must be first)
101*7ebf7443Swdenk
102*7ebf7443SwdenkOBJS  =	cpu/$(CPU)/start.o
103*7ebf7443Swdenk
104*7ebf7443Swdenkifeq ($(CPU),ppc4xx)
105*7ebf7443SwdenkOBJS +=	cpu/$(CPU)/resetvec.o
106*7ebf7443Swdenkendif
107*7ebf7443Swdenk
108*7ebf7443SwdenkLIBS  =	board/$(BOARDDIR)/lib$(BOARD).a
109*7ebf7443SwdenkLIBS += cpu/$(CPU)/lib$(CPU).a
110*7ebf7443SwdenkLIBS += lib_$(ARCH)/lib$(ARCH).a
111*7ebf7443SwdenkLIBS += fs/jffs2/libjffs2.a
112*7ebf7443SwdenkLIBS += net/libnet.a
113*7ebf7443SwdenkLIBS += disk/libdisk.a
114*7ebf7443SwdenkLIBS += rtc/librtc.a
115*7ebf7443SwdenkLIBS += dtt/libdtt.a
116*7ebf7443SwdenkLIBS += drivers/libdrivers.a
117*7ebf7443SwdenkLIBS += post/libpost.a post/cpu/libcpu.a
118*7ebf7443SwdenkLIBS += common/libcommon.a
119*7ebf7443SwdenkLIBS += lib_generic/libgeneric.a
120*7ebf7443Swdenk
121*7ebf7443Swdenk#########################################################################
122*7ebf7443Swdenk
123*7ebf7443Swdenkall:		u-boot.srec u-boot.bin System.map
124*7ebf7443Swdenk
125*7ebf7443Swdenkinstall:	all
126*7ebf7443Swdenk		cp u-boot.bin /tftpboot/u-boot.bin
127*7ebf7443Swdenk		cp u-boot.bin /net/sam/tftpboot/u-boot.bin
128*7ebf7443Swdenk
129*7ebf7443Swdenku-boot.srec:	u-boot
130*7ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
131*7ebf7443Swdenk
132*7ebf7443Swdenku-boot.bin:	u-boot
133*7ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
134*7ebf7443Swdenk
135*7ebf7443Swdenku-boot.dis:	u-boot
136*7ebf7443Swdenk		$(OBJDUMP) -d $< > $@
137*7ebf7443Swdenk
138*7ebf7443Swdenku-boot:		depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
139*7ebf7443Swdenk		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LIBS) -Map u-boot.map -o u-boot
140*7ebf7443Swdenk
141*7ebf7443Swdenksubdirs:
142*7ebf7443Swdenk		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
143*7ebf7443Swdenk
144*7ebf7443Swdenkdepend dep:
145*7ebf7443Swdenk		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
146*7ebf7443Swdenk
147*7ebf7443Swdenktags:
148*7ebf7443Swdenk		ctags -w `find $(SUBDIRS) include \
149*7ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
150*7ebf7443Swdenk
151*7ebf7443Swdenketags:
152*7ebf7443Swdenk		etags -a `find $(SUBDIRS) include \
153*7ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
154*7ebf7443Swdenk
155*7ebf7443SwdenkSystem.map:	u-boot
156*7ebf7443Swdenk		@$(NM) $< | \
157*7ebf7443Swdenk		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
158*7ebf7443Swdenk		sort > System.map
159*7ebf7443Swdenk
160*7ebf7443Swdenk#########################################################################
161*7ebf7443Swdenkelse
162*7ebf7443Swdenkall install u-boot u-boot.srec depend dep:
163*7ebf7443Swdenk	@echo "System not configured - see README" >&2
164*7ebf7443Swdenk	@ exit 1
165*7ebf7443Swdenkendif
166*7ebf7443Swdenk
167*7ebf7443Swdenk#########################################################################
168*7ebf7443Swdenk
169*7ebf7443Swdenkunconfig:
170*7ebf7443Swdenk	rm -f include/config.h include/config.mk
171*7ebf7443Swdenk
172*7ebf7443Swdenk#========================================================================
173*7ebf7443Swdenk# PowerPC
174*7ebf7443Swdenk#========================================================================
175*7ebf7443Swdenk#########################################################################
176*7ebf7443Swdenk## MPC8xx Systems
177*7ebf7443Swdenk#########################################################################
178*7ebf7443Swdenk
179*7ebf7443SwdenkADS860_config:	unconfig
180*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
181*7ebf7443Swdenk
182*7ebf7443SwdenkAMX860_config	:	unconfig
183*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
184*7ebf7443Swdenk
185*7ebf7443Swdenkc2mon_config:		unconfig
186*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx c2mon
187*7ebf7443Swdenk
188*7ebf7443SwdenkCCM_config:		unconfig
189*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
190*7ebf7443Swdenk
191*7ebf7443Swdenkcogent_mpc8xx_config:	unconfig
192*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx cogent
193*7ebf7443Swdenk
194*7ebf7443SwdenkESTEEM192E_config:	unconfig
195*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
196*7ebf7443Swdenk
197*7ebf7443SwdenkETX094_config	:	unconfig
198*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx etx094
199*7ebf7443Swdenk
200*7ebf7443SwdenkFADS823_config	\
201*7ebf7443SwdenkFADS850SAR_config \
202*7ebf7443SwdenkFADS860T_config:	unconfig
203*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
204*7ebf7443Swdenk
205*7ebf7443SwdenkFLAGADM_config:	unconfig
206*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx flagadm
207*7ebf7443Swdenk
208*7ebf7443SwdenkGEN860T_config: unconfig
209*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gen860t
210*7ebf7443Swdenk
211*7ebf7443SwdenkGENIETV_config:	unconfig
212*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx genietv
213*7ebf7443Swdenk
214*7ebf7443SwdenkGTH_config:	unconfig
215*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gth
216*7ebf7443Swdenk
217*7ebf7443Swdenkhermes_config	:	unconfig
218*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx hermes
219*7ebf7443Swdenk
220*7ebf7443SwdenkIAD210_config: unconfig
221*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
222*7ebf7443Swdenk
223*7ebf7443Swdenkxtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
224*7ebf7443Swdenk
225*7ebf7443SwdenkICU862_100MHz_config	\
226*7ebf7443SwdenkICU862_config: unconfig
227*7ebf7443Swdenk	@ >include/config.h
228*7ebf7443Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
229*7ebf7443Swdenk		{ echo "#define CONFIG_100MHz"	>>include/config.h ; \
230*7ebf7443Swdenk		  echo "... with 100MHz system clock" ; \
231*7ebf7443Swdenk		}
232*7ebf7443Swdenk	@./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
233*7ebf7443Swdenk
234*7ebf7443SwdenkIP860_config	:	unconfig
235*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx ip860
236*7ebf7443Swdenk
237*7ebf7443SwdenkIVML24_256_config \
238*7ebf7443SwdenkIVML24_128_config \
239*7ebf7443SwdenkIVML24_config:	unconfig
240*7ebf7443Swdenk	@ >include/config.h
241*7ebf7443Swdenk	@[ -z "$(findstring IVML24_config,$@)" ] || \
242*7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_16M"	>>include/config.h ; \
243*7ebf7443Swdenk		 }
244*7ebf7443Swdenk	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
245*7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_32M"	>>include/config.h ; \
246*7ebf7443Swdenk		 }
247*7ebf7443Swdenk	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
248*7ebf7443Swdenk		 { echo "#define CONFIG_IVML24_64M"	>>include/config.h ; \
249*7ebf7443Swdenk		 }
250*7ebf7443Swdenk	@./mkconfig -a IVML24 ppc mpc8xx ivm
251*7ebf7443Swdenk
252*7ebf7443SwdenkIVMS8_256_config \
253*7ebf7443SwdenkIVMS8_128_config \
254*7ebf7443SwdenkIVMS8_config:	unconfig
255*7ebf7443Swdenk	@ >include/config.h
256*7ebf7443Swdenk	@[ -z "$(findstring IVMS8_config,$@)" ] || \
257*7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_16M"	>>include/config.h ; \
258*7ebf7443Swdenk		 }
259*7ebf7443Swdenk	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
260*7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_32M"	>>include/config.h ; \
261*7ebf7443Swdenk		 }
262*7ebf7443Swdenk	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
263*7ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_64M"	>>include/config.h ; \
264*7ebf7443Swdenk		 }
265*7ebf7443Swdenk	@./mkconfig -a IVMS8 ppc mpc8xx ivm
266*7ebf7443Swdenk
267*7ebf7443SwdenkLANTEC_config	:	unconfig
268*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lantec
269*7ebf7443Swdenk
270*7ebf7443Swdenklwmon_config:		unconfig
271*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lwmon
272*7ebf7443Swdenk
273*7ebf7443SwdenkMBX_config	\
274*7ebf7443SwdenkMBX860T_config:	unconfig
275*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
276*7ebf7443Swdenk
277*7ebf7443SwdenkMHPC_config:		unconfig
278*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
279*7ebf7443Swdenk
280*7ebf7443SwdenkMVS1_config :		unconfig
281*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mvs1
282*7ebf7443Swdenk
283*7ebf7443SwdenkNETVIA_config:		unconfig
284*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx netvia
285*7ebf7443Swdenk
286*7ebf7443SwdenkNX823_config:		unconfig
287*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx nx823
288*7ebf7443Swdenk
289*7ebf7443Swdenkpcu_e_config:		unconfig
290*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
291*7ebf7443Swdenk
292*7ebf7443SwdenkR360MPI_config:	unconfig
293*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
294*7ebf7443Swdenk
295*7ebf7443SwdenkRPXClassic_config:	unconfig
296*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
297*7ebf7443Swdenk
298*7ebf7443SwdenkRPXlite_config:		unconfig
299*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXlite
300*7ebf7443Swdenk
301*7ebf7443SwdenkRRvision_config:	unconfig
302*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RRvision
303*7ebf7443Swdenk
304*7ebf7443SwdenkRRvision_LCD_config:	unconfig
305*7ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
306*7ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
307*7ebf7443Swdenk	@./mkconfig -a RRvision ppc mpc8xx RRvision
308*7ebf7443Swdenk
309*7ebf7443SwdenkSM850_config	:	unconfig
310*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
311*7ebf7443Swdenk
312*7ebf7443SwdenkSPD823TS_config:	unconfig
313*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
314*7ebf7443Swdenk
315*7ebf7443SwdenkSXNI855T_config:	unconfig
316*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx sixnet
317*7ebf7443Swdenk
318*7ebf7443Swdenk# Play some tricks for configuration selection
319*7ebf7443Swdenk# All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
320*7ebf7443Swdenk# but only 855 and 860 boards may come with FEC
321*7ebf7443Swdenk# and 823 boards may have LCD support
322*7ebf7443Swdenkxtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1)))))
323*7ebf7443Swdenk
324*7ebf7443SwdenkFPS850L_config		\
325*7ebf7443SwdenkTQM823L_config		\
326*7ebf7443SwdenkTQM823L_66MHz_config	\
327*7ebf7443SwdenkTQM823L_80MHz_config	\
328*7ebf7443SwdenkTQM823L_LCD_config	\
329*7ebf7443SwdenkTQM823L_LCD_66MHz_config \
330*7ebf7443SwdenkTQM823L_LCD_80MHz_config \
331*7ebf7443SwdenkTQM850L_config		\
332*7ebf7443SwdenkTQM850L_66MHz_config	\
333*7ebf7443SwdenkTQM850L_80MHz_config	\
334*7ebf7443SwdenkTQM855L_config		\
335*7ebf7443SwdenkTQM855L_66MHz_config	\
336*7ebf7443SwdenkTQM855L_80MHz_config	\
337*7ebf7443SwdenkTQM855L_FEC_config	\
338*7ebf7443SwdenkTQM855L_FEC_66MHz_config \
339*7ebf7443SwdenkTQM855L_FEC_80MHz_config \
340*7ebf7443SwdenkTQM860L_config		\
341*7ebf7443SwdenkTQM860L_66MHz_config	\
342*7ebf7443SwdenkTQM860L_80MHz_config	\
343*7ebf7443SwdenkTQM860L_FEC_config	\
344*7ebf7443SwdenkTQM860L_FEC_66MHz_config	\
345*7ebf7443SwdenkTQM860L_FEC_80MHz_config:	unconfig
346*7ebf7443Swdenk	@ >include/config.h
347*7ebf7443Swdenk	@[ -z "$(findstring _FEC,$@)" ] || \
348*7ebf7443Swdenk		{ echo "#define CONFIG_FEC_ENET"	>>include/config.h ; \
349*7ebf7443Swdenk		  echo "... with FEC support" ; \
350*7ebf7443Swdenk		}
351*7ebf7443Swdenk	@[ -z "$(findstring _66MHz,$@)" ] || \
352*7ebf7443Swdenk		{ echo "#define CONFIG_66MHz"		>>include/config.h ; \
353*7ebf7443Swdenk		  echo "... with 66MHz system clock" ; \
354*7ebf7443Swdenk		}
355*7ebf7443Swdenk	@[ -z "$(findstring _80MHz,$@)" ] || \
356*7ebf7443Swdenk		{ echo "#define CONFIG_80MHz"		>>include/config.h ; \
357*7ebf7443Swdenk		  echo "... with 80MHz system clock" ; \
358*7ebf7443Swdenk		}
359*7ebf7443Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
360*7ebf7443Swdenk		{ echo "#define CONFIG_LCD"		>>include/config.h ; \
361*7ebf7443Swdenk		  echo "#define CONFIG_NEC_NL6648BC20"	>>include/config.h ; \
362*7ebf7443Swdenk		  echo "... with LCD display" ; \
363*7ebf7443Swdenk		}
364*7ebf7443Swdenk	@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
365*7ebf7443Swdenk
366*7ebf7443SwdenkTTTech_config:	unconfig
367*7ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
368*7ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
369*7ebf7443Swdenk	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
370*7ebf7443Swdenk
371*7ebf7443Swdenk#########################################################################
372*7ebf7443Swdenk## PPC4xx Systems
373*7ebf7443Swdenk#########################################################################
374*7ebf7443Swdenk
375*7ebf7443SwdenkADCIOP_config:	unconfig
376*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
377*7ebf7443Swdenk
378*7ebf7443SwdenkAR405_config:	unconfig
379*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
380*7ebf7443Swdenk
381*7ebf7443SwdenkCANBT_config:	unconfig
382*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx canbt esd
383*7ebf7443Swdenk
384*7ebf7443SwdenkCPCI405_config		\
385*7ebf7443SwdenkCPCI4052_config:	unconfig
386*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
387*7ebf7443Swdenk	@echo "BOARD_REVISION = $(@:_config=)"	>>include/config.mk
388*7ebf7443Swdenk
389*7ebf7443SwdenkCPCI440_config:	unconfig
390*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
391*7ebf7443Swdenk
392*7ebf7443SwdenkCPCIISER4_config:	unconfig
393*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
394*7ebf7443Swdenk
395*7ebf7443SwdenkCRAYL1_config:unconfig
396*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx L1 cray
397*7ebf7443Swdenk
398*7ebf7443SwdenkDASA_SIM_config: unconfig
399*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
400*7ebf7443Swdenk
401*7ebf7443SwdenkDU405_config:	unconfig
402*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
403*7ebf7443Swdenk
404*7ebf7443SwdenkEBONY_config:unconfig
405*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ebony
406*7ebf7443Swdenk
407*7ebf7443SwdenkERIC_config:unconfig
408*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx eric
409*7ebf7443Swdenk
410*7ebf7443SwdenkMIP405_config:unconfig
411*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
412*7ebf7443Swdenk
413*7ebf7443SwdenkML2_config:unconfig
414*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml2
415*7ebf7443Swdenk
416*7ebf7443SwdenkOCRTC_config		\
417*7ebf7443SwdenkORSG_config:	unconfig
418*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
419*7ebf7443Swdenk
420*7ebf7443SwdenkPCI405_config:	unconfig
421*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
422*7ebf7443Swdenk
423*7ebf7443SwdenkPIP405_config:unconfig
424*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
425*7ebf7443Swdenk
426*7ebf7443SwdenkW7OLMC_config	\
427*7ebf7443SwdenkW7OLMG_config: unconfig
428*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx w7o
429*7ebf7443Swdenk
430*7ebf7443SwdenkWALNUT405_config:unconfig
431*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx walnut405
432*7ebf7443Swdenk
433*7ebf7443Swdenk#########################################################################
434*7ebf7443Swdenk## MPC824x Systems
435*7ebf7443Swdenk#########################################################################
436*7ebf7443SwdenkBMW_config: unconfig
437*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x bmw
438*7ebf7443Swdenk
439*7ebf7443SwdenkCU824_config: unconfig
440*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x cu824
441*7ebf7443Swdenk
442*7ebf7443SwdenkMOUSSE_config: unconfig
443*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mousse
444*7ebf7443Swdenk
445*7ebf7443SwdenkMUSENKI_config: unconfig
446*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x musenki
447*7ebf7443Swdenk
448*7ebf7443SwdenkOXC_config: unconfig
449*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x oxc
450*7ebf7443Swdenk
451*7ebf7443SwdenkPN62_config: unconfig
452*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x pn62
453*7ebf7443Swdenk
454*7ebf7443SwdenkSandpoint8240_config: unconfig
455*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
456*7ebf7443Swdenk
457*7ebf7443SwdenkSandpoint8245_config: unconfig
458*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
459*7ebf7443Swdenk
460*7ebf7443Swdenkutx8245_config: unconfig
461*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x utx8245
462*7ebf7443Swdenk
463*7ebf7443Swdenk#########################################################################
464*7ebf7443Swdenk## MPC8260 Systems
465*7ebf7443Swdenk#########################################################################
466*7ebf7443Swdenkxtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
467*7ebf7443Swdenk
468*7ebf7443Swdenkcogent_mpc8260_config:	unconfig
469*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 cogent
470*7ebf7443Swdenk
471*7ebf7443SwdenkCPU86_config	\
472*7ebf7443SwdenkCPU86_ROMBOOT_config: unconfig
473*7ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
474*7ebf7443Swdenk	@cd ./include ;				\
475*7ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
476*7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
477*7ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
478*7ebf7443Swdenk	else \
479*7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
480*7ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
481*7ebf7443Swdenk	fi; \
482*7ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
483*7ebf7443Swdenk
484*7ebf7443Swdenkep8260_config:	unconfig
485*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ep8260
486*7ebf7443Swdenk
487*7ebf7443Swdenkgw8260_config:	unconfig
488*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 gw8260
489*7ebf7443Swdenk
490*7ebf7443Swdenkhymod_config:	unconfig
491*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 hymod
492*7ebf7443Swdenk
493*7ebf7443SwdenkIPHASE4539_config:	unconfig
494*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 iphase4539
495*7ebf7443Swdenk
496*7ebf7443SwdenkMPC8260ADS_config:	unconfig
497*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
498*7ebf7443Swdenk
499*7ebf7443SwdenkPM826_config	\
500*7ebf7443SwdenkPM826_ROMBOOT_config: unconfig
501*7ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
502*7ebf7443Swdenk	@cd ./include ;				\
503*7ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
504*7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
505*7ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
506*7ebf7443Swdenk	else \
507*7ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
508*7ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
509*7ebf7443Swdenk	fi; \
510*7ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk; \
511*7ebf7443Swdenk
512*7ebf7443Swdenkppmc8260_config:	unconfig
513*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
514*7ebf7443Swdenk
515*7ebf7443SwdenkRPXsuper_config:	unconfig
516*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
517*7ebf7443Swdenk
518*7ebf7443Swdenkrsdproto_config:	unconfig
519*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rsdproto
520*7ebf7443Swdenk
521*7ebf7443Swdenksacsng_config:	unconfig
522*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sacsng
523*7ebf7443Swdenk
524*7ebf7443Swdenksbc8260_config:	unconfig
525*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sbc8260
526*7ebf7443Swdenk
527*7ebf7443SwdenkSCM_config:		unconfig
528*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
529*7ebf7443Swdenk
530*7ebf7443SwdenkTQM8260_config	\
531*7ebf7443SwdenkTQM8260_L2_config	\
532*7ebf7443SwdenkTQM8260_266MHz_config	\
533*7ebf7443SwdenkTQM8260_L2_266MHz_config \
534*7ebf7443SwdenkTQM8260_300MHz_config:	unconfig
535*7ebf7443Swdenk	@ >include/config.h
536*7ebf7443Swdenk	@if [ "$(findstring _L2_,$@)" ] ; then \
537*7ebf7443Swdenk		echo "#define CONFIG_L2_CACHE"	>>include/config.h ; \
538*7ebf7443Swdenk		echo "... with L2 Cache support (60x Bus Mode)" ; \
539*7ebf7443Swdenk	else \
540*7ebf7443Swdenk		echo "#undef CONFIG_L2_CACHE"	>>include/config.h ; \
541*7ebf7443Swdenk		echo "... without L2 Cache support" ; \
542*7ebf7443Swdenk	fi
543*7ebf7443Swdenk	@[ -z "$(findstring _266MHz,$@)" ] || \
544*7ebf7443Swdenk		{ echo "#define CONFIG_266MHz"	>>include/config.h ; \
545*7ebf7443Swdenk		  echo "... with 266MHz system clock" ; \
546*7ebf7443Swdenk		}
547*7ebf7443Swdenk	@[ -z "$(findstring _300MHz,$@)" ] || \
548*7ebf7443Swdenk		{ echo "#define CONFIG_300MHz"	>>include/config.h ; \
549*7ebf7443Swdenk		  echo "... with 300MHz system clock" ; \
550*7ebf7443Swdenk		}
551*7ebf7443Swdenk	@./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260
552*7ebf7443Swdenk
553*7ebf7443Swdenk#########################################################################
554*7ebf7443Swdenk## 74xx/7xx Systems
555*7ebf7443Swdenk#########################################################################
556*7ebf7443Swdenk
557*7ebf7443SwdenkEVB64260_config	\
558*7ebf7443SwdenkEVB64260_750CX_config:	unconfig
559*7ebf7443Swdenk	@./mkconfig EVB64260 ppc 74xx_7xx evb64260
560*7ebf7443Swdenk
561*7ebf7443SwdenkZUMA_config:	unconfig
562*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
563*7ebf7443Swdenk
564*7ebf7443SwdenkPCIPPC2_config \
565*7ebf7443SwdenkPCIPPC6_config: unconfig
566*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
567*7ebf7443Swdenk
568*7ebf7443SwdenkBAB7xx_config: unconfig
569*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
570*7ebf7443Swdenk
571*7ebf7443SwdenkELPPC_config: unconfig
572*7ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
573*7ebf7443Swdenk
574*7ebf7443Swdenk#========================================================================
575*7ebf7443Swdenk# ARM
576*7ebf7443Swdenk#========================================================================
577*7ebf7443Swdenk#########################################################################
578*7ebf7443Swdenk## StrongARM Systems
579*7ebf7443Swdenk#########################################################################
580*7ebf7443Swdenk
581*7ebf7443Swdenklart_config	:	unconfig
582*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 lart
583*7ebf7443Swdenk
584*7ebf7443Swdenkdnp1110_config	:	unconfig
585*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 dnp1110
586*7ebf7443Swdenk
587*7ebf7443Swdenkshannon_config	:	unconfig
588*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 shannon
589*7ebf7443Swdenk
590*7ebf7443Swdenk#########################################################################
591*7ebf7443Swdenk## ARM920T Systems
592*7ebf7443Swdenk#########################################################################
593*7ebf7443Swdenk
594*7ebf7443Swdenksmdk2400_config	:	unconfig
595*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2400
596*7ebf7443Swdenk
597*7ebf7443Swdenksmdk2410_config	:	unconfig
598*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2410
599*7ebf7443Swdenk
600*7ebf7443Swdenktrab_config :		unconfig
601*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t trab
602*7ebf7443Swdenk
603*7ebf7443Swdenk#########################################################################
604*7ebf7443Swdenk## ARM720T Systems
605*7ebf7443Swdenk#########################################################################
606*7ebf7443Swdenk
607*7ebf7443Swdenkimpa7_config	:	unconfig
608*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t impa7
609*7ebf7443Swdenk
610*7ebf7443Swdenkep7312_config	:	unconfig
611*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t ep7312
612*7ebf7443Swdenk
613*7ebf7443Swdenk#########################################################################
614*7ebf7443Swdenk## Xscale Systems
615*7ebf7443Swdenk#########################################################################
616*7ebf7443Swdenk
617*7ebf7443Swdenklubbock_config	:	unconfig
618*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm xscale lubbock
619*7ebf7443Swdenk
620*7ebf7443Swdenkcradle_config	:	unconfig
621*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm xscale cradle
622*7ebf7443Swdenk
623*7ebf7443Swdenkcsb226_config	:	unconfig
624*7ebf7443Swdenk	@./mkconfig $(@:_config=) arm xscale csb226
625*7ebf7443Swdenk
626*7ebf7443Swdenk#########################################################################
627*7ebf7443Swdenk
628*7ebf7443Swdenkclean:
629*7ebf7443Swdenk	find . -type f \
630*7ebf7443Swdenk		\( -name 'core' -o -name '*.bak' -o -name '*~' \
631*7ebf7443Swdenk		-o -name '*.o'  -o -name '*.a'  \) -print \
632*7ebf7443Swdenk		| xargs rm -f
633*7ebf7443Swdenk	rm -f examples/hello_world examples/timer examples/eepro100_eeprom
634*7ebf7443Swdenk	rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
635*7ebf7443Swdenk	rm -f tools/easylogo/easylogo tools/bmp_logo
636*7ebf7443Swdenk	rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
637*7ebf7443Swdenk
638*7ebf7443Swdenkclobber:	clean
639*7ebf7443Swdenk	find . -type f \
640*7ebf7443Swdenk		\( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
641*7ebf7443Swdenk		-print \
642*7ebf7443Swdenk		| xargs rm -f
643*7ebf7443Swdenk	rm -f $(OBJS) *.bak tags TAGS
644*7ebf7443Swdenk	rm -fr *.*~
645*7ebf7443Swdenk	rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map
646*7ebf7443Swdenk	rm -f tools/crc32.c tools/environment.c
647*7ebf7443Swdenk	rm -f include/asm/arch include/asm
648*7ebf7443Swdenk
649*7ebf7443Swdenkmrproper \
650*7ebf7443Swdenkdistclean:	clobber unconfig
651*7ebf7443Swdenk
652*7ebf7443Swdenkbackup:
653*7ebf7443Swdenk	F=`basename $(TOPDIR)` ; cd .. ; \
654*7ebf7443Swdenk	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
655*7ebf7443Swdenk
656*7ebf7443Swdenk#########################################################################
657