]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - Makefile
* Patch by Pierre Aubert, 24 Nov 2003:
[karo-tx-uboot.git] / Makefile
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
24 HOSTARCH := $(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
32 HOSTOS := $(shell uname -s | tr A-Z a-z | \
33             sed -e 's/\(cygwin\).*/cygwin/')
34
35 export  HOSTARCH
36
37 # Deal with colliding definitions from tcsh etc.
38 VENDOR=
39
40 #########################################################################
41
42 TOPDIR  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
43 export  TOPDIR
44
45 ifeq (include/config.mk,$(wildcard include/config.mk))
46 # load ARCH, BOARD, and CPU configuration
47 include include/config.mk
48 export  ARCH CPU BOARD VENDOR
49 # load other configuration
50 include $(TOPDIR)/config.mk
51
52 ifndef CROSS_COMPILE
53 ifeq ($(HOSTARCH),ppc)
54 CROSS_COMPILE =
55 else
56 ifeq ($(ARCH),ppc)
57 CROSS_COMPILE = ppc_8xx-
58 endif
59 ifeq ($(ARCH),arm)
60 CROSS_COMPILE = arm-linux-
61 endif
62 ifeq ($(ARCH),i386)
63 ifeq ($(HOSTARCH),i386)
64 CROSS_COMPILE =
65 else
66 CROSS_COMPILE = i386-linux-
67 endif
68 endif
69 ifeq ($(ARCH),mips)
70 CROSS_COMPILE = mips_4KC-
71 endif
72 ifeq ($(ARCH),nios)
73 CROSS_COMPILE = nios-elf-
74 endif
75 endif
76 endif
77
78 export  CROSS_COMPILE
79
80 #########################################################################
81 # U-Boot objects....order is important (i.e. start must be first)
82
83 OBJS  = cpu/$(CPU)/start.o
84 ifeq ($(CPU),i386)
85 OBJS += cpu/$(CPU)/start16.o
86 OBJS += cpu/$(CPU)/reset.o
87 endif
88 ifeq ($(CPU),ppc4xx)
89 OBJS += cpu/$(CPU)/resetvec.o
90 endif
91 ifeq ($(CPU),mpc85xx)
92 OBJS += cpu/$(CPU)/resetvec.o
93 endif
94
95 LIBS  = lib_generic/libgeneric.a
96 LIBS += board/$(BOARDDIR)/lib$(BOARD).a
97 LIBS += cpu/$(CPU)/lib$(CPU).a
98 LIBS += lib_$(ARCH)/lib$(ARCH).a
99 LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a fs/fat/libfat.a
100 LIBS += net/libnet.a
101 LIBS += disk/libdisk.a
102 LIBS += rtc/librtc.a
103 LIBS += dtt/libdtt.a
104 LIBS += drivers/libdrivers.a
105 LIBS += drivers/sk98lin/libsk98lin.a
106 LIBS += post/libpost.a post/cpu/libcpu.a
107 LIBS += common/libcommon.a
108 .PHONY : $(LIBS)
109
110 # Add GCC lib
111 PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
112
113 # The "tools" are needed early, so put this first
114 # Don't include stuff already done in $(LIBS)
115 SUBDIRS = tools \
116           examples \
117           post \
118           post/cpu
119 .PHONY : $(SUBDIRS)
120
121 #########################################################################
122 #########################################################################
123
124 ALL = u-boot.srec u-boot.bin System.map
125
126 all:            $(ALL)
127
128 u-boot.srec:    u-boot
129                 $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
130
131 u-boot.bin:     u-boot
132                 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
133
134 u-boot.img:     u-boot.bin
135                 ./tools/mkimage -A $(ARCH) -T firmware -C none \
136                 -a $(TEXT_BASE) -e 0 \
137                 -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \
138                         sed -e 's/"[     ]*$$/ for $(BOARD) board"/') \
139                 -d $< $@
140
141 u-boot.dis:     u-boot
142                 $(OBJDUMP) -d $< > $@
143
144 u-boot:         depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
145                 UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
146                 $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
147                         --start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
148                         -Map u-boot.map -o u-boot
149
150 $(LIBS):
151                 $(MAKE) -C `dirname $@`
152
153 $(SUBDIRS):
154                 $(MAKE) -C $@ all
155
156 gdbtools:
157                 $(MAKE) -C tools/gdb || exit 1
158
159 depend dep:
160                 @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
161
162 tags:
163                 ctags -w `find $(SUBDIRS) include \
164                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
165
166 etags:
167                 etags -a `find $(SUBDIRS) include \
168                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
169
170 System.map:     u-boot
171                 @$(NM) $< | \
172                 grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
173                 sort > System.map
174
175 #########################################################################
176 else
177 all install u-boot u-boot.srec depend dep:
178         @echo "System not configured - see README" >&2
179         @ exit 1
180 endif
181
182 #########################################################################
183
184 unconfig:
185         rm -f include/config.h include/config.mk
186
187 #========================================================================
188 # PowerPC
189 #========================================================================
190
191 #########################################################################
192 ## MPC5xx Systems
193 #########################################################################
194
195 cmi_mpc5xx_config:      unconfig
196         @./mkconfig $(@:_config=) ppc mpc5xx cmi
197
198 #########################################################################
199 ## MPC5xxx Systems
200 #########################################################################
201 MPC5200LITE_config              \
202 MPC5200LITE_LOWBOOT_config      \
203 MPC5200LITE_LOWBOOT08_config    \
204 icecube_5200_config             \
205 IceCube_5200_config             \
206 IceCube_5100_config:            unconfig
207         @ >include/config.h
208         @[ -z "$(findstring LOWBOOT,$@)" ] || \
209                 { echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
210                   echo "... with LOWBOOT configuration" ; \
211                 }
212         @[ -z "$(findstring LOWBOOT08,$@)" ] || \
213                 { echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
214                   echo "... with 8 MB flash only" ; \
215                 }
216         @[ -z "$(findstring 5200,$@)" ] || \
217                 { echo "#define CONFIG_MPC5200"         >>include/config.h ; \
218                   echo "... with MPC5200 processor" ; \
219                 }
220         @[ -z "$(findstring 5100,$@)" ] || \
221                 { echo "#define CONFIG_MGT5100"         >>include/config.h ; \
222                   echo "... with MGT5100 processor" ; \
223                 }
224         @./mkconfig -a IceCube ppc mpc5xxx icecube
225
226 #########################################################################
227 ## MPC8xx Systems
228 #########################################################################
229
230 AdderII_config: unconfig
231         @./mkconfig $(@:_config=) ppc mpc8xx adderII
232
233 ADS860_config:  unconfig
234         @./mkconfig $(@:_config=) ppc mpc8xx fads
235
236 AMX860_config   :       unconfig
237         @./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
238
239 bms2003_config  :       unconfig
240         @echo "#define CONFIG_BMS2003" >include/config.h
241         @echo "#define CONFIG_LCD" >>include/config.h
242         @echo "#define CONFIG_NEC_NL6448BC33_54" >>include/config.h
243         @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
244
245 c2mon_config:           unconfig
246         @./mkconfig $(@:_config=) ppc mpc8xx c2mon
247
248 CCM_config:             unconfig
249         @./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
250
251 cogent_mpc8xx_config:   unconfig
252         @./mkconfig $(@:_config=) ppc mpc8xx cogent
253
254 ELPT860_config:         unconfig
255         @./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
256
257 ESTEEM192E_config:      unconfig
258         @./mkconfig $(@:_config=) ppc mpc8xx esteem192e
259
260 ETX094_config   :       unconfig
261         @./mkconfig $(@:_config=) ppc mpc8xx etx094
262
263 FADS823_config  \
264 FADS850SAR_config \
265 MPC86xADS_config \
266 FADS860T_config:        unconfig
267         @./mkconfig $(@:_config=) ppc mpc8xx fads
268
269 FLAGADM_config: unconfig
270         @./mkconfig $(@:_config=) ppc mpc8xx flagadm
271
272 xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
273
274 GEN860T_SC_config       \
275 GEN860T_config: unconfig
276         @ >include/config.h
277         @[ -z "$(findstring _SC,$@)" ] || \
278                 { echo "#define CONFIG_SC" >>include/config.h ; \
279                   echo "With reduced H/W feature set (SC)..." ; \
280                 }
281         @./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
282
283 GENIETV_config: unconfig
284         @./mkconfig $(@:_config=) ppc mpc8xx genietv
285
286 GTH_config:     unconfig
287         @./mkconfig $(@:_config=) ppc mpc8xx gth
288
289 hermes_config   :       unconfig
290         @./mkconfig $(@:_config=) ppc mpc8xx hermes
291
292 IAD210_config: unconfig
293         @./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
294
295 xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
296
297 ICU862_100MHz_config    \
298 ICU862_config: unconfig
299         @ >include/config.h
300         @[ -z "$(findstring _100MHz,$@)" ] || \
301                 { echo "#define CONFIG_100MHz"  >>include/config.h ; \
302                   echo "... with 100MHz system clock" ; \
303                 }
304         @./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
305
306 IP860_config    :       unconfig
307         @./mkconfig $(@:_config=) ppc mpc8xx ip860
308
309 IVML24_256_config \
310 IVML24_128_config \
311 IVML24_config:  unconfig
312         @ >include/config.h
313         @[ -z "$(findstring IVML24_config,$@)" ] || \
314                  { echo "#define CONFIG_IVML24_16M"     >>include/config.h ; \
315                  }
316         @[ -z "$(findstring IVML24_128_config,$@)" ] || \
317                  { echo "#define CONFIG_IVML24_32M"     >>include/config.h ; \
318                  }
319         @[ -z "$(findstring IVML24_256_config,$@)" ] || \
320                  { echo "#define CONFIG_IVML24_64M"     >>include/config.h ; \
321                  }
322         @./mkconfig -a IVML24 ppc mpc8xx ivm
323
324 IVMS8_256_config \
325 IVMS8_128_config \
326 IVMS8_config:   unconfig
327         @ >include/config.h
328         @[ -z "$(findstring IVMS8_config,$@)" ] || \
329                  { echo "#define CONFIG_IVMS8_16M"      >>include/config.h ; \
330                  }
331         @[ -z "$(findstring IVMS8_128_config,$@)" ] || \
332                  { echo "#define CONFIG_IVMS8_32M"      >>include/config.h ; \
333                  }
334         @[ -z "$(findstring IVMS8_256_config,$@)" ] || \
335                  { echo "#define CONFIG_IVMS8_64M"      >>include/config.h ; \
336                  }
337         @./mkconfig -a IVMS8 ppc mpc8xx ivm
338
339 KUP4K_config    :       unconfig
340         @./mkconfig $(@:_config=) ppc mpc8xx kup4k
341
342 LANTEC_config   :       unconfig
343         @./mkconfig $(@:_config=) ppc mpc8xx lantec
344
345 lwmon_config:           unconfig
346         @./mkconfig $(@:_config=) ppc mpc8xx lwmon
347
348 MBX_config      \
349 MBX860T_config: unconfig
350         @./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
351
352 MHPC_config:            unconfig
353         @./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
354
355 MVS1_config :           unconfig
356         @./mkconfig $(@:_config=) ppc mpc8xx mvs1
357
358 xtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
359
360 NETVIA_V2_config \
361 NETVIA_config:          unconfig
362         @ >include/config.h
363         @[ -z "$(findstring NETVIA_config,$@)" ] || \
364                  { echo "#define CONFIG_NETVIA_VERSION 1" >>include/config.h ; \
365                   echo "... Version 1" ; \
366                  }
367         @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
368                  { echo "#define CONFIG_NETVIA_VERSION 2" >>include/config.h ; \
369                   echo "... Version 2" ; \
370                  }
371         @./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
372
373 NX823_config:           unconfig
374         @./mkconfig $(@:_config=) ppc mpc8xx nx823
375
376 pcu_e_config:           unconfig
377         @./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
378
379 QS850_config:   unconfig
380         @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
381
382 QS823_config:   unconfig
383         @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
384
385 QS860T_config:  unconfig
386         @./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
387
388 R360MPI_config: unconfig
389         @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
390
391 RBC823_config:  unconfig
392         @./mkconfig $(@:_config=) ppc mpc8xx rbc823
393
394 RPXClassic_config:      unconfig
395         @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
396
397 RPXlite_config:         unconfig
398         @./mkconfig $(@:_config=) ppc mpc8xx RPXlite
399
400 rmu_config:     unconfig
401         @./mkconfig $(@:_config=) ppc mpc8xx rmu
402
403 RRvision_config:        unconfig
404         @./mkconfig $(@:_config=) ppc mpc8xx RRvision
405
406 RRvision_LCD_config:    unconfig
407         @echo "#define CONFIG_LCD" >include/config.h
408         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
409         @./mkconfig -a RRvision ppc mpc8xx RRvision
410
411 SM850_config    :       unconfig
412         @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
413
414 SPD823TS_config:        unconfig
415         @./mkconfig $(@:_config=) ppc mpc8xx spd8xx
416
417 svm_sc8xx_config:       unconfig
418         @ >include/config.h
419         @./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
420
421 SXNI855T_config:        unconfig
422         @./mkconfig $(@:_config=) ppc mpc8xx sixnet
423
424 # EMK MPC8xx based modules
425 TOP860_config:          unconfig
426         @./mkconfig $(@:_config=) ppc mpc8xx top860 emk
427
428 # Play some tricks for configuration selection
429 # All boards can come with 50 MHz (default), 66MHz, 80MHz or 100 MHz clock,
430 # but only 855 and 860 boards may come with FEC
431 # and 823 boards may have LCD support
432 xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _100MHz,,$(subst _LCD,,$(subst _config,,$1)))))
433
434 FPS850L_config          \
435 FPS860L_config          \
436 NSCU_config             \
437 TQM823L_config          \
438 TQM823L_66MHz_config    \
439 TQM823L_80MHz_config    \
440 TQM823L_LCD_config      \
441 TQM823L_LCD_66MHz_config \
442 TQM823L_LCD_80MHz_config \
443 TQM850L_config          \
444 TQM850L_66MHz_config    \
445 TQM850L_80MHz_config    \
446 TQM855L_config          \
447 TQM855L_66MHz_config    \
448 TQM855L_80MHz_config    \
449 TQM860L_config          \
450 TQM860L_66MHz_config    \
451 TQM860L_80MHz_config    \
452 TQM862L_config          \
453 TQM862L_66MHz_config    \
454 TQM862L_80MHz_config    \
455 TQM823M_config          \
456 TQM823M_66MHz_config    \
457 TQM823M_80MHz_config    \
458 TQM850M_config          \
459 TQM850M_66MHz_config    \
460 TQM850M_80MHz_config    \
461 TQM855M_config          \
462 TQM855M_66MHz_config    \
463 TQM855M_80MHz_config    \
464 TQM860M_config          \
465 TQM860M_66MHz_config    \
466 TQM860M_80MHz_config    \
467 TQM862M_config          \
468 TQM862M_66MHz_config    \
469 TQM862M_80MHz_config    \
470 TQM862M_100MHz_config:  unconfig
471         @ >include/config.h
472         @[ -z "$(findstring _66MHz,$@)" ] || \
473                 { echo "#define CONFIG_66MHz"           >>include/config.h ; \
474                   echo "... with 66MHz system clock" ; \
475                 }
476         @[ -z "$(findstring _80MHz,$@)" ] || \
477                 { echo "#define CONFIG_80MHz"           >>include/config.h ; \
478                   echo "... with 80MHz system clock" ; \
479                 }
480         @[ -z "$(findstring _100MHz,$@)" ] || \
481                 { echo "#define CONFIG_100MHz"          >>include/config.h ; \
482                   echo "... with 100MHz system clock" ; \
483                 }
484         @[ -z "$(findstring _LCD,$@)" ] || \
485                 { echo "#define CONFIG_LCD"             >>include/config.h ; \
486                   echo "#define CONFIG_NEC_NL6448BC20"  >>include/config.h ; \
487                   echo "... with LCD display" ; \
488                 }
489         @./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
490
491 TTTech_config:  unconfig
492         @echo "#define CONFIG_LCD" >include/config.h
493         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
494         @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
495
496 v37_config:     unconfig
497         @echo "#define CONFIG_LCD" >include/config.h
498         @echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
499         @./mkconfig $(@:_config=) ppc mpc8xx v37
500
501 wtk_config:     unconfig
502         @echo "#define CONFIG_LCD" >include/config.h
503         @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
504         @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
505
506 #########################################################################
507 ## PPC4xx Systems
508 #########################################################################
509 xtract_4xx = $(subst _MODEL_BA,,$(subst _MODEL_ME,,$(subst _MODEL_HI,,$(subst _config,,$1))))
510
511 ADCIOP_config:  unconfig
512         @./mkconfig $(@:_config=) ppc ppc4xx adciop esd
513
514 AR405_config:   unconfig
515         @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
516
517 ASH405_config:  unconfig
518         @./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
519
520 BUBINGA405EP_config:unconfig
521         @./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
522
523 CANBT_config:   unconfig
524         @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
525
526 CPCI405_config  \
527 CPCI4052_config \
528 CPCI405AB_config:       unconfig
529         @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
530         @echo "BOARD_REVISION = $(@:_config=)"  >>include/config.mk
531
532 CPCI440_config: unconfig
533         @./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
534
535 CPCIISER4_config:       unconfig
536         @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
537
538 CRAYL1_config:unconfig
539         @./mkconfig $(@:_config=) ppc ppc4xx L1 cray
540
541 DASA_SIM_config: unconfig
542         @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
543
544 DP405_config:   unconfig
545         @./mkconfig $(@:_config=) ppc ppc4xx dp405 esd
546
547 DU405_config:   unconfig
548         @./mkconfig $(@:_config=) ppc ppc4xx du405 esd
549
550 EBONY_config:unconfig
551         @./mkconfig $(@:_config=) ppc ppc4xx ebony
552
553 ERIC_config:unconfig
554         @./mkconfig $(@:_config=) ppc ppc4xx eric
555
556 EXBITGEN_config:unconfig
557         @./mkconfig $(@:_config=) ppc ppc4xx exbitgen
558
559 HUB405_config:  unconfig
560         @./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
561
562 MIP405_config:unconfig
563         @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
564
565 MIP405T_config:unconfig
566         @echo "#define CONFIG_MIP405T" >include/config.h
567         @echo "Enable subset config for MIP405T"
568         @./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
569
570 ML2_config:unconfig
571         @./mkconfig $(@:_config=) ppc ppc4xx ml2
572
573 OCRTC_config            \
574 ORSG_config:    unconfig
575         @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
576
577 PCI405_config:  unconfig
578         @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
579
580 PIP405_config:unconfig
581         @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
582
583 PLU405_config:  unconfig
584         @./mkconfig $(@:_config=) ppc ppc4xx plu405 esd
585
586 PMC405_config:  unconfig
587         @./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
588
589 PPChameleonEVB_MODEL_BA_config  \
590 PPChameleonEVB_MODEL_ME_config  \
591 PPChameleonEVB_MODEL_HI_config  \
592 PPChameleonEVB_config:  unconfig
593         @ >include/config.h
594         @[ -z "$(findstring _MODEL_BA,$@)" ] || \
595                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
596                   echo "... BASIC model" ; \
597                 }
598         @[ -z "$(findstring _MODEL_ME,$@)" ] || \
599                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
600                   echo "... MEDIUM model" ; \
601                 }
602         @[ -z "$(findstring _MODEL_HI,$@)" ] || \
603                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
604                   echo "... HIGH-END model" ; \
605                 }
606         @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
607
608 VOH405_config:  unconfig
609         @./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
610
611 W7OLMC_config   \
612 W7OLMG_config: unconfig
613         @./mkconfig $(@:_config=) ppc ppc4xx w7o
614
615 WALNUT405_config:unconfig
616         @./mkconfig $(@:_config=) ppc ppc4xx walnut405
617
618 #########################################################################
619 ## MPC824x Systems
620 #########################################################################
621 xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
622
623 A3000_config: unconfig
624         @./mkconfig $(@:_config=) ppc mpc824x a3000
625
626 BMW_config: unconfig
627         @./mkconfig $(@:_config=) ppc mpc824x bmw
628
629 CPC45_config    \
630 CPC45_ROMBOOT_config:   unconfig
631         @./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
632         @cd ./include ;                         \
633         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
634                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
635                 echo "... booting from 8-bit flash" ; \
636         else \
637                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
638                 echo "... booting from 64-bit flash" ; \
639         fi; \
640         echo "export CONFIG_BOOT_ROM" >> config.mk;
641
642 CU824_config: unconfig
643         @./mkconfig $(@:_config=) ppc mpc824x cu824
644
645 MOUSSE_config: unconfig
646         @./mkconfig $(@:_config=) ppc mpc824x mousse
647
648 MUSENKI_config: unconfig
649         @./mkconfig $(@:_config=) ppc mpc824x musenki
650
651 MVBLUE_config:  unconfig
652         @./mkconfig $(@:_config=) ppc mpc824x mvblue
653
654 OXC_config: unconfig
655         @./mkconfig $(@:_config=) ppc mpc824x oxc
656
657 PN62_config: unconfig
658         @./mkconfig $(@:_config=) ppc mpc824x pn62
659
660 Sandpoint8240_config: unconfig
661         @./mkconfig $(@:_config=) ppc mpc824x sandpoint
662
663 Sandpoint8245_config: unconfig
664         @./mkconfig $(@:_config=) ppc mpc824x sandpoint
665
666 SL8245_config: unconfig
667         @./mkconfig $(@:_config=) ppc mpc824x sl8245
668
669 utx8245_config: unconfig
670         @./mkconfig $(@:_config=) ppc mpc824x utx8245
671
672 #########################################################################
673 ## MPC8260 Systems
674 #########################################################################
675
676 atc_config:     unconfig
677         @./mkconfig $(@:_config=) ppc mpc8260 atc
678
679 cogent_mpc8260_config:  unconfig
680         @./mkconfig $(@:_config=) ppc mpc8260 cogent
681
682 CPU86_config    \
683 CPU86_ROMBOOT_config: unconfig
684         @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
685         @cd ./include ;                         \
686         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
687                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
688                 echo "... booting from 8-bit flash" ; \
689         else \
690                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
691                 echo "... booting from 64-bit flash" ; \
692         fi; \
693         echo "export CONFIG_BOOT_ROM" >> config.mk;
694
695 ep8260_config:  unconfig
696         @./mkconfig $(@:_config=) ppc mpc8260 ep8260
697
698 gw8260_config:  unconfig
699         @./mkconfig $(@:_config=) ppc mpc8260 gw8260
700
701 hymod_config:   unconfig
702         @./mkconfig $(@:_config=) ppc mpc8260 hymod
703
704 IPHASE4539_config:      unconfig
705         @./mkconfig $(@:_config=) ppc mpc8260 iphase4539
706
707 MPC8260ADS_config:      unconfig
708         @./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
709
710 MPC8266ADS_config:      unconfig
711         @./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
712
713 PM825_config    \
714 PM825_ROMBOOT_config: unconfig
715         @echo "#define CONFIG_PCI"      >include/config.h
716         @./mkconfig -a PM826 ppc mpc8260 pm826
717         @cd ./include ;                         \
718         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
719                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
720                 echo "... booting from 8-bit flash" ; \
721         else \
722                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
723                 echo "... booting from 64-bit flash" ; \
724         fi; \
725         echo "export CONFIG_BOOT_ROM" >> config.mk; \
726
727 PM826_config    \
728 PM826_ROMBOOT_config: unconfig
729         @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
730         @cd ./include ;                         \
731         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
732                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
733                 echo "... booting from 8-bit flash" ; \
734         else \
735                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
736                 echo "... booting from 64-bit flash" ; \
737         fi; \
738         echo "export CONFIG_BOOT_ROM" >> config.mk; \
739
740 ppmc8260_config:        unconfig
741         @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
742
743 RPXsuper_config:        unconfig
744         @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
745
746 rsdproto_config:        unconfig
747         @./mkconfig $(@:_config=) ppc mpc8260 rsdproto
748
749 sacsng_config:  unconfig
750         @./mkconfig $(@:_config=) ppc mpc8260 sacsng
751
752 sbc8260_config: unconfig
753         @./mkconfig $(@:_config=) ppc mpc8260 sbc8260
754
755 SCM_config:             unconfig
756         @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
757
758 TQM8255_AA_config \
759 TQM8260_AA_config \
760 TQM8260_AB_config \
761 TQM8260_AC_config \
762 TQM8260_AD_config \
763 TQM8260_AE_config \
764 TQM8260_AF_config \
765 TQM8260_AG_config \
766 TQM8260_AH_config \
767 TQM8265_AA_config:  unconfig
768         @case "$@" in \
769         TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no;  BMODE=8260;;  \
770         TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no;  BMODE=8260;; \
771         TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
772         TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
773         TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
774         TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no;  BMODE=8260;; \
775         TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
776         TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=8260;; \
777         TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;;  \
778         TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no;  BMODE=60x;;  \
779         esac; \
780         >include/config.h ; \
781         if [ "$${CTYPE}" != "MPC8260" ] ; then \
782                 echo "#define CONFIG_$${CTYPE}" >>include/config.h ; \
783         fi; \
784         echo "#define CONFIG_$${CFREQ}MHz"      >>include/config.h ; \
785         echo "... with $${CFREQ}MHz system clock" ; \
786         if [ "$${CACHE}" == "yes" ] ; then \
787                 echo "#define CONFIG_L2_CACHE"  >>include/config.h ; \
788                 echo "... with L2 Cache support" ; \
789         else \
790                 echo "#undef CONFIG_L2_CACHE"   >>include/config.h ; \
791                 echo "... without L2 Cache support" ; \
792         fi; \
793         if [ "$${BMODE}" == "60x" ] ; then \
794                 echo "#define CONFIG_BUSMODE_60x" >>include/config.h ; \
795                 echo "... with 60x Bus Mode" ; \
796         else \
797                 echo "#undef CONFIG_BUSMODE_60x"  >>include/config.h ; \
798                 echo "... without 60x Bus Mode" ; \
799         fi
800         @./mkconfig -a TQM8260 ppc mpc8260 tqm8260
801
802 ZPC1900_config: unconfig
803         @./mkconfig $(@:_config=) ppc mpc8260 zpc1900
804
805 #########################################################################
806 ## MPC85xx Systems
807 #########################################################################
808
809 MPC8540ADS_config:      unconfig
810         @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
811
812 MPC8560ADS_config:      unconfig
813         @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
814
815 #########################################################################
816 ## 74xx/7xx Systems
817 #########################################################################
818
819 AmigaOneG3SE_config:    unconfig
820         @./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
821
822 BAB7xx_config: unconfig
823         @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
824
825 debris_config: unconfig
826         @./mkconfig $(@:_config=) ppc mpc824x debris etin
827
828 ELPPC_config: unconfig
829         @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
830
831 EVB64260_config \
832 EVB64260_750CX_config:  unconfig
833         @./mkconfig EVB64260 ppc 74xx_7xx evb64260
834
835 P3G4_config: unconfig
836         @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
837
838 PCIPPC2_config \
839 PCIPPC6_config: unconfig
840         @./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
841
842 ZUMA_config:    unconfig
843         @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
844
845 #========================================================================
846 # ARM
847 #========================================================================
848 #########################################################################
849 ## StrongARM Systems
850 #########################################################################
851
852 at91rm9200dk_config     :       unconfig
853         @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
854
855 lart_config     :       unconfig
856         @./mkconfig $(@:_config=) arm sa1100 lart
857
858 dnp1110_config  :       unconfig
859         @./mkconfig $(@:_config=) arm sa1100 dnp1110
860
861 shannon_config  :       unconfig
862         @./mkconfig $(@:_config=) arm sa1100 shannon
863
864 #########################################################################
865 ## ARM92xT Systems
866 #########################################################################
867
868 xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
869
870 omap1510inn_config :    unconfig
871         @./mkconfig $(@:_config=) arm arm925t omap1510inn
872
873 omap1610inn_config :    unconfig
874         @./mkconfig $(@:_config=) arm arm926ejs omap1610inn
875
876 smdk2400_config :       unconfig
877         @./mkconfig $(@:_config=) arm arm920t smdk2400
878
879 smdk2410_config :       unconfig
880         @./mkconfig $(@:_config=) arm arm920t smdk2410
881
882 trab_config \
883 trab_bigram_config \
884 trab_bigflash_config \
885 trab_old_config:        unconfig
886         @ >include/config.h
887         @[ -z "$(findstring _bigram,$@)" ] || \
888                 { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
889                   echo "... with 8 MB Flash, 32 MB RAM" ; \
890                 }
891         @[ -z "$(findstring _bigflash,$@)" ] || \
892                 { echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
893                   echo "... with 16 MB Flash, 16 MB RAM" ; \
894                   echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
895                 }
896         @[ -z "$(findstring _old,$@)" ] || \
897                 { echo "#define CONFIG_OLD_VERSION" >>include/config.h ; \
898                   echo "... with small memory configuration" ; \
899                   echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
900                 }
901         @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
902
903 VCMA9_config    :       unconfig
904         @./mkconfig $(@:_config=) arm arm920t vcma9 mpl
905
906 #########################################################################
907 ## ARM720T Systems
908 #########################################################################
909
910 impa7_config    :       unconfig
911         @./mkconfig $(@:_config=) arm arm720t impa7
912
913 ep7312_config   :       unconfig
914         @./mkconfig $(@:_config=) arm arm720t ep7312
915
916 #########################################################################
917 ## XScale Systems
918 #########################################################################
919
920 cradle_config   :       unconfig
921         @./mkconfig $(@:_config=) arm pxa cradle
922
923 csb226_config   :       unconfig
924         @./mkconfig $(@:_config=) arm pxa csb226
925
926 innokom_config  :       unconfig
927         @./mkconfig $(@:_config=) arm pxa innokom
928
929 ixdp425_config  :       unconfig
930         @./mkconfig $(@:_config=) arm ixp ixdp425
931
932 lubbock_config  :       unconfig
933         @./mkconfig $(@:_config=) arm pxa lubbock
934
935 logodl_config   :       unconfig
936         @./mkconfig $(@:_config=) arm pxa logodl
937
938 wepep250_config :       unconfig
939         @./mkconfig $(@:_config=) arm pxa wepep250
940
941 #========================================================================
942 # i386
943 #========================================================================
944 #########################################################################
945 ## AMD SC520 CDP
946 #########################################################################
947 sc520_cdp_config        :       unconfig
948         @./mkconfig $(@:_config=) i386 i386 sc520_cdp
949
950 sc520_spunk_config      :       unconfig
951         @./mkconfig $(@:_config=) i386 i386 sc520_spunk
952
953 sc520_spunk_rel_config  :       unconfig
954         @./mkconfig $(@:_config=) i386 i386 sc520_spunk
955
956 #========================================================================
957 # MIPS
958 #========================================================================
959 #########################################################################
960 ## MIPS32 4Kc
961 #########################################################################
962
963 xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
964
965 incaip_100MHz_config    \
966 incaip_133MHz_config    \
967 incaip_150MHz_config    \
968 incaip_config: unconfig
969         @ >include/config.h
970         @[ -z "$(findstring _100MHz,$@)" ] || \
971                 { echo "#define CPU_CLOCK_RATE 100000000" >>include/config.h ; \
972                   echo "... with 100MHz system clock" ; \
973                 }
974         @[ -z "$(findstring _133MHz,$@)" ] || \
975                 { echo "#define CPU_CLOCK_RATE 133000000" >>include/config.h ; \
976                   echo "... with 133MHz system clock" ; \
977                 }
978         @[ -z "$(findstring _150MHz,$@)" ] || \
979                 { echo "#define CPU_CLOCK_RATE 150000000" >>include/config.h ; \
980                   echo "... with 150MHz system clock" ; \
981                 }
982         @./mkconfig -a $(call xtract_incaip,$@) mips mips incaip
983
984 #########################################################################
985 ## MIPS64 5Kc
986 #########################################################################
987
988 purple_config :         unconfig
989         @./mkconfig $(@:_config=) mips mips purple
990
991 #========================================================================
992 # Nios
993 #========================================================================
994 #########################################################################
995 ## Nios32
996 #########################################################################
997
998 DK1C20_config:  unconfig
999         @./mkconfig $(@:_config=) nios nios dk1c20
1000
1001
1002 #########################################################################
1003 ## MIPS32 AU1X00
1004 #########################################################################
1005 dbau1000_config         :       unconfig
1006         @ >include/config.h
1007         @echo "#define CONFIG_DBAU1000 1" >>include/config.h
1008         @./mkconfig -a dbau1x00 mips mips dbau1x00
1009
1010 dbau1100_config         :       unconfig
1011         @ >include/config.h
1012         @echo "#define CONFIG_DBAU1100 1" >>include/config.h
1013         @./mkconfig -a dbau1x00 mips mips dbau1x00
1014
1015 dbau1500_config         :       unconfig
1016         @ >include/config.h
1017         @echo "#define CONFIG_DBAU1500 1" >>include/config.h
1018         @./mkconfig -a dbau1x00 mips mips dbau1x00
1019
1020 #########################################################################
1021 #########################################################################
1022
1023 clean:
1024         find . -type f \
1025                 \( -name 'core' -o -name '*.bak' -o -name '*~' \
1026                 -o -name '*.o'  -o -name '*.a'  \) -print \
1027                 | xargs rm -f
1028         rm -f examples/hello_world examples/timer \
1029               examples/eepro100_eeprom examples/sched \
1030               examples/mem_to_mem_idma2intr examples/82559_eeprom
1031
1032         rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
1033         rm -f tools/easylogo/easylogo tools/bmp_logo
1034         rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
1035         rm -f tools/env/fw_printenv tools/env/fw_setenv
1036         rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
1037         rm -f board/trab/trab_fkt board/*/config.tmp
1038
1039 clobber:        clean
1040         find . -type f \
1041                 \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
1042                 -print \
1043                 | xargs rm -f
1044         rm -f $(OBJS) *.bak tags TAGS
1045         rm -fr *.*~
1046         rm -f u-boot u-boot.map $(ALL)
1047         rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
1048         rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
1049         rm -f include/asm/proc include/asm/arch include/asm
1050
1051 mrproper \
1052 distclean:      clobber unconfig
1053
1054 backup:
1055         F=`basename $(TOPDIR)` ; cd .. ; \
1056         gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
1057
1058 #########################################################################