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