]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - Makefile
da70cf25cc322c416d40bddf9cc7bd31c612b2f1
[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 ($(CPU),mpc8xx)
57 ##  CROSS_COMPILE = ppc_8xx-
58 ##  #endif
59 ##  #ifeq ($(CPU),ppc4xx)
60 ##  #CROSS_COMPILE = ppc_4xx-
61 ##  #endif
62 ##  #ifeq ($(CPU),mpc824x)
63 ##  #CROSS_COMPILE = ppc_82xx-
64 ##  #endif
65 ##  #ifeq ($(CPU),mpc8260)
66 ##  #CROSS_COMPILE = ppc_82xx-
67 ##  #endif
68 ##  #ifeq ($(CPU),74xx_7xx)
69 ##  #CROSS_COMPILE = ppc_74xx-)
70 ##  #endif
71 ifeq ($(ARCH),ppc)
72 CROSS_COMPILE = ppc_8xx-
73 endif
74 ifeq ($(ARCH),arm)
75 CROSS_COMPILE = arm_920TDI-
76 endif
77 endif
78 endif
79
80 export  CROSS_COMPILE
81
82 # The "tools" are needed early, so put this first
83 SUBDIRS = tools \
84           lib_generic \
85           lib_$(ARCH) \
86           cpu/$(CPU) \
87           board/$(BOARDDIR) \
88           common \
89           disk \
90           fs \
91           net \
92           rtc \
93           dtt \
94           drivers \
95           post \
96           post/cpu \
97           examples
98
99 #########################################################################
100 # U-Boot objects....order is important (i.e. start must be first)
101
102 OBJS  = cpu/$(CPU)/start.o
103
104 ifeq ($(CPU),ppc4xx)
105 OBJS += cpu/$(CPU)/resetvec.o
106 endif
107
108 LIBS  = board/$(BOARDDIR)/lib$(BOARD).a
109 LIBS += cpu/$(CPU)/lib$(CPU).a
110 LIBS += lib_$(ARCH)/lib$(ARCH).a
111 LIBS += fs/jffs2/libjffs2.a
112 LIBS += net/libnet.a
113 LIBS += disk/libdisk.a
114 LIBS += rtc/librtc.a
115 LIBS += dtt/libdtt.a
116 LIBS += drivers/libdrivers.a
117 LIBS += post/libpost.a post/cpu/libcpu.a
118 LIBS += common/libcommon.a
119 LIBS += lib_generic/libgeneric.a
120
121 #########################################################################
122
123 all:            u-boot.srec u-boot.bin System.map
124
125 install:        all
126                 cp u-boot.bin /tftpboot/u-boot.bin
127                 cp u-boot.bin /net/sam/tftpboot/u-boot.bin
128
129 u-boot.srec:    u-boot
130                 $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
131
132 u-boot.bin:     u-boot
133                 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
134
135 u-boot.dis:     u-boot
136                 $(OBJDUMP) -d $< > $@
137
138 u-boot:         depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
139                 $(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LIBS) -Map u-boot.map -o u-boot
140
141 subdirs:
142                 @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
143
144 depend dep:
145                 @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
146
147 tags:
148                 ctags -w `find $(SUBDIRS) include \
149                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
150
151 etags:
152                 etags -a `find $(SUBDIRS) include \
153                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
154
155 System.map:     u-boot
156                 @$(NM) $< | \
157                 grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
158                 sort > System.map
159
160 #########################################################################
161 else
162 all install u-boot u-boot.srec depend dep:
163         @echo "System not configured - see README" >&2
164         @ exit 1
165 endif
166
167 #########################################################################
168
169 unconfig:
170         rm -f include/config.h include/config.mk
171
172 #========================================================================
173 # PowerPC
174 #========================================================================
175 #########################################################################
176 ## MPC8xx Systems
177 #########################################################################
178
179 ADS860_config:  unconfig
180         @./mkconfig $(@:_config=) ppc mpc8xx fads
181
182 AMX860_config   :       unconfig
183         @./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
184
185 c2mon_config:           unconfig
186         @./mkconfig $(@:_config=) ppc mpc8xx c2mon
187
188 CCM_config:             unconfig
189         @./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
190
191 cogent_mpc8xx_config:   unconfig
192         @./mkconfig $(@:_config=) ppc mpc8xx cogent
193
194 ESTEEM192E_config:      unconfig
195         @./mkconfig $(@:_config=) ppc mpc8xx esteem192e
196
197 ETX094_config   :       unconfig
198         @./mkconfig $(@:_config=) ppc mpc8xx etx094
199
200 FADS823_config  \
201 FADS850SAR_config \
202 FADS860T_config:        unconfig
203         @./mkconfig $(@:_config=) ppc mpc8xx fads
204
205 FLAGADM_config: unconfig
206         @./mkconfig $(@:_config=) ppc mpc8xx flagadm
207
208 GEN860T_config: unconfig
209         @./mkconfig $(@:_config=) ppc mpc8xx gen860t
210
211 GENIETV_config: unconfig
212         @./mkconfig $(@:_config=) ppc mpc8xx genietv
213
214 GTH_config:     unconfig
215         @./mkconfig $(@:_config=) ppc mpc8xx gth
216
217 hermes_config   :       unconfig
218         @./mkconfig $(@:_config=) ppc mpc8xx hermes
219
220 IAD210_config: unconfig
221         @./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
222
223 xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
224
225 ICU862_100MHz_config    \
226 ICU862_config: unconfig
227         @ >include/config.h
228         @[ -z "$(findstring _100MHz,$@)" ] || \
229                 { echo "#define CONFIG_100MHz"  >>include/config.h ; \
230                   echo "... with 100MHz system clock" ; \
231                 }
232         @./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
233
234 IP860_config    :       unconfig
235         @./mkconfig $(@:_config=) ppc mpc8xx ip860
236
237 IVML24_256_config \
238 IVML24_128_config \
239 IVML24_config:  unconfig
240         @ >include/config.h
241         @[ -z "$(findstring IVML24_config,$@)" ] || \
242                  { echo "#define CONFIG_IVML24_16M"     >>include/config.h ; \
243                  }
244         @[ -z "$(findstring IVML24_128_config,$@)" ] || \
245                  { echo "#define CONFIG_IVML24_32M"     >>include/config.h ; \
246                  }
247         @[ -z "$(findstring IVML24_256_config,$@)" ] || \
248                  { echo "#define CONFIG_IVML24_64M"     >>include/config.h ; \
249                  }
250         @./mkconfig -a IVML24 ppc mpc8xx ivm
251
252 IVMS8_256_config \
253 IVMS8_128_config \
254 IVMS8_config:   unconfig
255         @ >include/config.h
256         @[ -z "$(findstring IVMS8_config,$@)" ] || \
257                  { echo "#define CONFIG_IVMS8_16M"      >>include/config.h ; \
258                  }
259         @[ -z "$(findstring IVMS8_128_config,$@)" ] || \
260                  { echo "#define CONFIG_IVMS8_32M"      >>include/config.h ; \
261                  }
262         @[ -z "$(findstring IVMS8_256_config,$@)" ] || \
263                  { echo "#define CONFIG_IVMS8_64M"      >>include/config.h ; \
264                  }
265         @./mkconfig -a IVMS8 ppc mpc8xx ivm
266
267 LANTEC_config   :       unconfig
268         @./mkconfig $(@:_config=) ppc mpc8xx lantec
269
270 lwmon_config:           unconfig
271         @./mkconfig $(@:_config=) ppc mpc8xx lwmon
272
273 MBX_config      \
274 MBX860T_config: unconfig
275         @./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
276
277 MHPC_config:            unconfig
278         @./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
279
280 MVS1_config :           unconfig
281         @./mkconfig $(@:_config=) ppc mpc8xx mvs1
282
283 NETVIA_config:          unconfig
284         @./mkconfig $(@:_config=) ppc mpc8xx netvia
285
286 NX823_config:           unconfig
287         @./mkconfig $(@:_config=) ppc mpc8xx nx823
288
289 pcu_e_config:           unconfig
290         @./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
291
292 R360MPI_config: unconfig
293         @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
294
295 RPXClassic_config:      unconfig
296         @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
297
298 RPXlite_config:         unconfig
299         @./mkconfig $(@:_config=) ppc mpc8xx RPXlite
300
301 RRvision_config:        unconfig
302         @./mkconfig $(@:_config=) ppc mpc8xx RRvision
303
304 RRvision_LCD_config:    unconfig
305         @echo "#define CONFIG_LCD" >include/config.h
306         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
307         @./mkconfig -a RRvision ppc mpc8xx RRvision
308
309 SM850_config    :       unconfig
310         @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
311
312 SPD823TS_config:        unconfig
313         @./mkconfig $(@:_config=) ppc mpc8xx spd8xx
314
315 SXNI855T_config:        unconfig
316         @./mkconfig $(@:_config=) ppc mpc8xx sixnet
317
318 # Play some tricks for configuration selection
319 # All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
320 # but only 855 and 860 boards may come with FEC
321 # and 823 boards may have LCD support
322 xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1)))))
323
324 FPS850L_config          \
325 FPS860L_config          \
326 TQM823L_config          \
327 TQM823L_66MHz_config    \
328 TQM823L_80MHz_config    \
329 TQM823L_LCD_config      \
330 TQM823L_LCD_66MHz_config \
331 TQM823L_LCD_80MHz_config \
332 TQM850L_config          \
333 TQM850L_66MHz_config    \
334 TQM850L_80MHz_config    \
335 TQM855L_config          \
336 TQM855L_66MHz_config    \
337 TQM855L_80MHz_config    \
338 TQM855L_FEC_config      \
339 TQM855L_FEC_66MHz_config \
340 TQM855L_FEC_80MHz_config \
341 TQM860L_config          \
342 TQM860L_66MHz_config    \
343 TQM860L_80MHz_config    \
344 TQM860L_FEC_config      \
345 TQM860L_FEC_66MHz_config        \
346 TQM860L_FEC_80MHz_config:       unconfig
347         @ >include/config.h
348         @[ -z "$(findstring _FEC,$@)" ] || \
349                 { echo "#define CONFIG_FEC_ENET"        >>include/config.h ; \
350                   echo "... with FEC support" ; \
351                 }
352         @[ -z "$(findstring _66MHz,$@)" ] || \
353                 { echo "#define CONFIG_66MHz"           >>include/config.h ; \
354                   echo "... with 66MHz system clock" ; \
355                 }
356         @[ -z "$(findstring _80MHz,$@)" ] || \
357                 { echo "#define CONFIG_80MHz"           >>include/config.h ; \
358                   echo "... with 80MHz system clock" ; \
359                 }
360         @[ -z "$(findstring _LCD,$@)" ] || \
361                 { echo "#define CONFIG_LCD"             >>include/config.h ; \
362                   echo "#define CONFIG_NEC_NL6648BC20"  >>include/config.h ; \
363                   echo "... with LCD display" ; \
364                 }
365         @./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
366
367 TTTech_config:  unconfig
368         @echo "#define CONFIG_LCD" >include/config.h
369         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
370         @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
371
372 #########################################################################
373 ## PPC4xx Systems
374 #########################################################################
375
376 ADCIOP_config:  unconfig
377         @./mkconfig $(@:_config=) ppc ppc4xx adciop esd
378
379 AR405_config:   unconfig
380         @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
381
382 CANBT_config:   unconfig
383         @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
384
385 CPCI405_config          \
386 CPCI4052_config:        unconfig
387         @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
388         @echo "BOARD_REVISION = $(@:_config=)"  >>include/config.mk
389
390 CPCI440_config: unconfig
391         @./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
392
393 CPCIISER4_config:       unconfig
394         @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
395
396 CRAYL1_config:unconfig
397         @./mkconfig $(@:_config=) ppc ppc4xx L1 cray
398
399 DASA_SIM_config: unconfig
400         @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
401
402 DU405_config:   unconfig
403         @./mkconfig $(@:_config=) ppc ppc4xx du405 esd
404
405 EBONY_config:unconfig
406         @./mkconfig $(@:_config=) ppc ppc4xx ebony
407
408 ERIC_config:unconfig
409         @./mkconfig $(@:_config=) ppc ppc4xx eric
410
411 MIP405_config:unconfig
412         @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
413
414 ML2_config:unconfig
415         @./mkconfig $(@:_config=) ppc ppc4xx ml2
416
417 OCRTC_config            \
418 ORSG_config:    unconfig
419         @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
420
421 PCI405_config:  unconfig
422         @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
423
424 PIP405_config:unconfig
425         @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
426
427 W7OLMC_config   \
428 W7OLMG_config: unconfig
429         @./mkconfig $(@:_config=) ppc ppc4xx w7o
430
431 WALNUT405_config:unconfig
432         @./mkconfig $(@:_config=) ppc ppc4xx walnut405
433
434 #########################################################################
435 ## MPC824x Systems
436 #########################################################################
437 BMW_config: unconfig
438         @./mkconfig $(@:_config=) ppc mpc824x bmw
439
440 CU824_config: unconfig
441         @./mkconfig $(@:_config=) ppc mpc824x cu824
442
443 MOUSSE_config: unconfig
444         @./mkconfig $(@:_config=) ppc mpc824x mousse
445
446 MUSENKI_config: unconfig
447         @./mkconfig $(@:_config=) ppc mpc824x musenki
448
449 OXC_config: unconfig
450         @./mkconfig $(@:_config=) ppc mpc824x oxc
451
452 PN62_config: unconfig
453         @./mkconfig $(@:_config=) ppc mpc824x pn62
454
455 Sandpoint8240_config: unconfig
456         @./mkconfig $(@:_config=) ppc mpc824x sandpoint
457
458 Sandpoint8245_config: unconfig
459         @./mkconfig $(@:_config=) ppc mpc824x sandpoint
460
461 utx8245_config: unconfig
462         @./mkconfig $(@:_config=) ppc mpc824x utx8245
463
464 #########################################################################
465 ## MPC8260 Systems
466 #########################################################################
467 xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
468
469 cogent_mpc8260_config:  unconfig
470         @./mkconfig $(@:_config=) ppc mpc8260 cogent
471
472 CPU86_config    \
473 CPU86_ROMBOOT_config: unconfig
474         @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
475         @cd ./include ;                         \
476         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
477                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
478                 echo "... booting from 8-bit flash" ; \
479         else \
480                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
481                 echo "... booting from 64-bit flash" ; \
482         fi; \
483         echo "export CONFIG_BOOT_ROM" >> config.mk;
484
485 ep8260_config:  unconfig
486         @./mkconfig $(@:_config=) ppc mpc8260 ep8260
487
488 gw8260_config:  unconfig
489         @./mkconfig $(@:_config=) ppc mpc8260 gw8260
490
491 hymod_config:   unconfig
492         @./mkconfig $(@:_config=) ppc mpc8260 hymod
493
494 IPHASE4539_config:      unconfig
495         @./mkconfig $(@:_config=) ppc mpc8260 iphase4539
496
497 MPC8260ADS_config:      unconfig
498         @./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
499
500 PM826_config    \
501 PM826_ROMBOOT_config: unconfig
502         @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
503         @cd ./include ;                         \
504         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
505                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
506                 echo "... booting from 8-bit flash" ; \
507         else \
508                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
509                 echo "... booting from 64-bit flash" ; \
510         fi; \
511         echo "export CONFIG_BOOT_ROM" >> config.mk; \
512
513 ppmc8260_config:        unconfig
514         @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
515
516 RPXsuper_config:        unconfig
517         @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
518
519 rsdproto_config:        unconfig
520         @./mkconfig $(@:_config=) ppc mpc8260 rsdproto
521
522 sacsng_config:  unconfig
523         @./mkconfig $(@:_config=) ppc mpc8260 sacsng
524
525 sbc8260_config: unconfig
526         @./mkconfig $(@:_config=) ppc mpc8260 sbc8260
527
528 SCM_config:             unconfig
529         @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
530
531 TQM8260_config  \
532 TQM8260_L2_config       \
533 TQM8260_266MHz_config   \
534 TQM8260_L2_266MHz_config \
535 TQM8260_300MHz_config:  unconfig
536         @ >include/config.h
537         @if [ "$(findstring _L2_,$@)" ] ; then \
538                 echo "#define CONFIG_L2_CACHE"  >>include/config.h ; \
539                 echo "... with L2 Cache support (60x Bus Mode)" ; \
540         else \
541                 echo "#undef CONFIG_L2_CACHE"   >>include/config.h ; \
542                 echo "... without L2 Cache support" ; \
543         fi
544         @[ -z "$(findstring _266MHz,$@)" ] || \
545                 { echo "#define CONFIG_266MHz"  >>include/config.h ; \
546                   echo "... with 266MHz system clock" ; \
547                 }
548         @[ -z "$(findstring _300MHz,$@)" ] || \
549                 { echo "#define CONFIG_300MHz"  >>include/config.h ; \
550                   echo "... with 300MHz system clock" ; \
551                 }
552         @./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260
553
554 #########################################################################
555 ## 74xx/7xx Systems
556 #########################################################################
557
558 EVB64260_config \
559 EVB64260_750CX_config:  unconfig
560         @./mkconfig EVB64260 ppc 74xx_7xx evb64260
561
562 ZUMA_config:    unconfig
563         @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
564
565 PCIPPC2_config \
566 PCIPPC6_config: unconfig
567         @./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
568
569 BAB7xx_config: unconfig
570         @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
571
572 ELPPC_config: unconfig
573         @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
574
575 #========================================================================
576 # ARM
577 #========================================================================
578 #########################################################################
579 ## StrongARM Systems
580 #########################################################################
581
582 lart_config     :       unconfig
583         @./mkconfig $(@:_config=) arm sa1100 lart
584
585 dnp1110_config  :       unconfig
586         @./mkconfig $(@:_config=) arm sa1100 dnp1110
587
588 shannon_config  :       unconfig
589         @./mkconfig $(@:_config=) arm sa1100 shannon
590
591 #########################################################################
592 ## ARM920T Systems
593 #########################################################################
594
595 smdk2400_config :       unconfig
596         @./mkconfig $(@:_config=) arm arm920t smdk2400
597
598 smdk2410_config :       unconfig
599         @./mkconfig $(@:_config=) arm arm920t smdk2410
600
601 trab_config :           unconfig
602         @./mkconfig $(@:_config=) arm arm920t trab
603
604 #########################################################################
605 ## ARM720T Systems
606 #########################################################################
607
608 impa7_config    :       unconfig
609         @./mkconfig $(@:_config=) arm arm720t impa7
610
611 ep7312_config   :       unconfig
612         @./mkconfig $(@:_config=) arm arm720t ep7312
613
614 #########################################################################
615 ## Xscale Systems
616 #########################################################################
617
618 lubbock_config  :       unconfig
619         @./mkconfig $(@:_config=) arm xscale lubbock
620
621 cradle_config   :       unconfig
622         @./mkconfig $(@:_config=) arm xscale cradle
623
624 csb226_config   :       unconfig
625         @./mkconfig $(@:_config=) arm xscale csb226
626
627 #########################################################################
628
629 clean:
630         find . -type f \
631                 \( -name 'core' -o -name '*.bak' -o -name '*~' \
632                 -o -name '*.o'  -o -name '*.a'  \) -print \
633                 | xargs rm -f
634         rm -f examples/hello_world examples/timer examples/eepro100_eeprom
635         rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
636         rm -f tools/easylogo/easylogo tools/bmp_logo
637         rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
638
639 clobber:        clean
640         find . -type f \
641                 \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
642                 -print \
643                 | xargs rm -f
644         rm -f $(OBJS) *.bak tags TAGS
645         rm -fr *.*~
646         rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map
647         rm -f tools/crc32.c tools/environment.c
648         rm -f include/asm/arch include/asm
649
650 mrproper \
651 distclean:      clobber unconfig
652
653 backup:
654         F=`basename $(TOPDIR)` ; cd .. ; \
655         gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
656
657 #########################################################################