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 267LANTEC_config : unconfig 268 @./mkconfig $(@:_config=) ppc mpc8xx lantec 269 270lwmon_config: unconfig 271 @./mkconfig $(@:_config=) ppc mpc8xx lwmon 272 273MBX_config \ 274MBX860T_config: unconfig 275 @./mkconfig $(@:_config=) ppc mpc8xx mbx8xx 276 277MHPC_config: unconfig 278 @./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec 279 280MVS1_config : unconfig 281 @./mkconfig $(@:_config=) ppc mpc8xx mvs1 282 283NETVIA_config: unconfig 284 @./mkconfig $(@:_config=) ppc mpc8xx netvia 285 286NX823_config: unconfig 287 @./mkconfig $(@:_config=) ppc mpc8xx nx823 288 289pcu_e_config: unconfig 290 @./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens 291 292R360MPI_config: unconfig 293 @./mkconfig $(@:_config=) ppc mpc8xx r360mpi 294 295RPXClassic_config: unconfig 296 @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic 297 298RPXlite_config: unconfig 299 @./mkconfig $(@:_config=) ppc mpc8xx RPXlite 300 301RRvision_config: unconfig 302 @./mkconfig $(@:_config=) ppc mpc8xx RRvision 303 304RRvision_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 309SM850_config : unconfig 310 @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx 311 312SPD823TS_config: unconfig 313 @./mkconfig $(@:_config=) ppc mpc8xx spd8xx 314 315SXNI855T_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 322xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1))))) 323 324FPS850L_config \ 325TQM823L_config \ 326TQM823L_66MHz_config \ 327TQM823L_80MHz_config \ 328TQM823L_LCD_config \ 329TQM823L_LCD_66MHz_config \ 330TQM823L_LCD_80MHz_config \ 331TQM850L_config \ 332TQM850L_66MHz_config \ 333TQM850L_80MHz_config \ 334TQM855L_config \ 335TQM855L_66MHz_config \ 336TQM855L_80MHz_config \ 337TQM855L_FEC_config \ 338TQM855L_FEC_66MHz_config \ 339TQM855L_FEC_80MHz_config \ 340TQM860L_config \ 341TQM860L_66MHz_config \ 342TQM860L_80MHz_config \ 343TQM860L_FEC_config \ 344TQM860L_FEC_66MHz_config \ 345TQM860L_FEC_80MHz_config: unconfig 346 @ >include/config.h 347 @[ -z "$(findstring _FEC,$@)" ] || \ 348 { echo "#define CONFIG_FEC_ENET" >>include/config.h ; \ 349 echo "... with FEC support" ; \ 350 } 351 @[ -z "$(findstring _66MHz,$@)" ] || \ 352 { echo "#define CONFIG_66MHz" >>include/config.h ; \ 353 echo "... with 66MHz system clock" ; \ 354 } 355 @[ -z "$(findstring _80MHz,$@)" ] || \ 356 { echo "#define CONFIG_80MHz" >>include/config.h ; \ 357 echo "... with 80MHz system clock" ; \ 358 } 359 @[ -z "$(findstring _LCD,$@)" ] || \ 360 { echo "#define CONFIG_LCD" >>include/config.h ; \ 361 echo "#define CONFIG_NEC_NL6648BC20" >>include/config.h ; \ 362 echo "... with LCD display" ; \ 363 } 364 @./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx 365 366TTTech_config: unconfig 367 @echo "#define CONFIG_LCD" >include/config.h 368 @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h 369 @./mkconfig -a TQM823L ppc mpc8xx tqm8xx 370 371######################################################################### 372## PPC4xx Systems 373######################################################################### 374 375ADCIOP_config: unconfig 376 @./mkconfig $(@:_config=) ppc ppc4xx adciop esd 377 378AR405_config: unconfig 379 @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd 380 381CANBT_config: unconfig 382 @./mkconfig $(@:_config=) ppc ppc4xx canbt esd 383 384CPCI405_config \ 385CPCI4052_config: unconfig 386 @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd 387 @echo "BOARD_REVISION = $(@:_config=)" >>include/config.mk 388 389CPCI440_config: unconfig 390 @./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd 391 392CPCIISER4_config: unconfig 393 @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd 394 395CRAYL1_config:unconfig 396 @./mkconfig $(@:_config=) ppc ppc4xx L1 cray 397 398DASA_SIM_config: unconfig 399 @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd 400 401DU405_config: unconfig 402 @./mkconfig $(@:_config=) ppc ppc4xx du405 esd 403 404EBONY_config:unconfig 405 @./mkconfig $(@:_config=) ppc ppc4xx ebony 406 407ERIC_config:unconfig 408 @./mkconfig $(@:_config=) ppc ppc4xx eric 409 410MIP405_config:unconfig 411 @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl 412 413ML2_config:unconfig 414 @./mkconfig $(@:_config=) ppc ppc4xx ml2 415 416OCRTC_config \ 417ORSG_config: unconfig 418 @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd 419 420PCI405_config: unconfig 421 @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd 422 423PIP405_config:unconfig 424 @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl 425 426W7OLMC_config \ 427W7OLMG_config: unconfig 428 @./mkconfig $(@:_config=) ppc ppc4xx w7o 429 430WALNUT405_config:unconfig 431 @./mkconfig $(@:_config=) ppc ppc4xx walnut405 432 433######################################################################### 434## MPC824x Systems 435######################################################################### 436BMW_config: unconfig 437 @./mkconfig $(@:_config=) ppc mpc824x bmw 438 439CU824_config: unconfig 440 @./mkconfig $(@:_config=) ppc mpc824x cu824 441 442MOUSSE_config: unconfig 443 @./mkconfig $(@:_config=) ppc mpc824x mousse 444 445MUSENKI_config: unconfig 446 @./mkconfig $(@:_config=) ppc mpc824x musenki 447 448OXC_config: unconfig 449 @./mkconfig $(@:_config=) ppc mpc824x oxc 450 451PN62_config: unconfig 452 @./mkconfig $(@:_config=) ppc mpc824x pn62 453 454Sandpoint8240_config: unconfig 455 @./mkconfig $(@:_config=) ppc mpc824x sandpoint 456 457Sandpoint8245_config: unconfig 458 @./mkconfig $(@:_config=) ppc mpc824x sandpoint 459 460utx8245_config: unconfig 461 @./mkconfig $(@:_config=) ppc mpc824x utx8245 462 463######################################################################### 464## MPC8260 Systems 465######################################################################### 466xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))) 467 468cogent_mpc8260_config: unconfig 469 @./mkconfig $(@:_config=) ppc mpc8260 cogent 470 471CPU86_config \ 472CPU86_ROMBOOT_config: unconfig 473 @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86 474 @cd ./include ; \ 475 if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ 476 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ 477 echo "... booting from 8-bit flash" ; \ 478 else \ 479 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ 480 echo "... booting from 64-bit flash" ; \ 481 fi; \ 482 echo "export CONFIG_BOOT_ROM" >> config.mk; 483 484ep8260_config: unconfig 485 @./mkconfig $(@:_config=) ppc mpc8260 ep8260 486 487gw8260_config: unconfig 488 @./mkconfig $(@:_config=) ppc mpc8260 gw8260 489 490hymod_config: unconfig 491 @./mkconfig $(@:_config=) ppc mpc8260 hymod 492 493IPHASE4539_config: unconfig 494 @./mkconfig $(@:_config=) ppc mpc8260 iphase4539 495 496MPC8260ADS_config: unconfig 497 @./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads 498 499PM826_config \ 500PM826_ROMBOOT_config: unconfig 501 @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826 502 @cd ./include ; \ 503 if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ 504 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ 505 echo "... booting from 8-bit flash" ; \ 506 else \ 507 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ 508 echo "... booting from 64-bit flash" ; \ 509 fi; \ 510 echo "export CONFIG_BOOT_ROM" >> config.mk; \ 511 512ppmc8260_config: unconfig 513 @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260 514 515RPXsuper_config: unconfig 516 @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper 517 518rsdproto_config: unconfig 519 @./mkconfig $(@:_config=) ppc mpc8260 rsdproto 520 521sacsng_config: unconfig 522 @./mkconfig $(@:_config=) ppc mpc8260 sacsng 523 524sbc8260_config: unconfig 525 @./mkconfig $(@:_config=) ppc mpc8260 sbc8260 526 527SCM_config: unconfig 528 @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens 529 530TQM8260_config \ 531TQM8260_L2_config \ 532TQM8260_266MHz_config \ 533TQM8260_L2_266MHz_config \ 534TQM8260_300MHz_config: unconfig 535 @ >include/config.h 536 @if [ "$(findstring _L2_,$@)" ] ; then \ 537 echo "#define CONFIG_L2_CACHE" >>include/config.h ; \ 538 echo "... with L2 Cache support (60x Bus Mode)" ; \ 539 else \ 540 echo "#undef CONFIG_L2_CACHE" >>include/config.h ; \ 541 echo "... without L2 Cache support" ; \ 542 fi 543 @[ -z "$(findstring _266MHz,$@)" ] || \ 544 { echo "#define CONFIG_266MHz" >>include/config.h ; \ 545 echo "... with 266MHz system clock" ; \ 546 } 547 @[ -z "$(findstring _300MHz,$@)" ] || \ 548 { echo "#define CONFIG_300MHz" >>include/config.h ; \ 549 echo "... with 300MHz system clock" ; \ 550 } 551 @./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260 552 553######################################################################### 554## 74xx/7xx Systems 555######################################################################### 556 557EVB64260_config \ 558EVB64260_750CX_config: unconfig 559 @./mkconfig EVB64260 ppc 74xx_7xx evb64260 560 561ZUMA_config: unconfig 562 @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260 563 564PCIPPC2_config \ 565PCIPPC6_config: unconfig 566 @./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2 567 568BAB7xx_config: unconfig 569 @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec 570 571ELPPC_config: unconfig 572 @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec 573 574#======================================================================== 575# ARM 576#======================================================================== 577######################################################################### 578## StrongARM Systems 579######################################################################### 580 581lart_config : unconfig 582 @./mkconfig $(@:_config=) arm sa1100 lart 583 584dnp1110_config : unconfig 585 @./mkconfig $(@:_config=) arm sa1100 dnp1110 586 587shannon_config : unconfig 588 @./mkconfig $(@:_config=) arm sa1100 shannon 589 590######################################################################### 591## ARM920T Systems 592######################################################################### 593 594smdk2400_config : unconfig 595 @./mkconfig $(@:_config=) arm arm920t smdk2400 596 597smdk2410_config : unconfig 598 @./mkconfig $(@:_config=) arm arm920t smdk2410 599 600trab_config : unconfig 601 @./mkconfig $(@:_config=) arm arm920t trab 602 603######################################################################### 604## ARM720T Systems 605######################################################################### 606 607impa7_config : unconfig 608 @./mkconfig $(@:_config=) arm arm720t impa7 609 610ep7312_config : unconfig 611 @./mkconfig $(@:_config=) arm arm720t ep7312 612 613######################################################################### 614## Xscale Systems 615######################################################################### 616 617lubbock_config : unconfig 618 @./mkconfig $(@:_config=) arm xscale lubbock 619 620cradle_config : unconfig 621 @./mkconfig $(@:_config=) arm xscale cradle 622 623csb226_config : unconfig 624 @./mkconfig $(@:_config=) arm xscale csb226 625 626######################################################################### 627 628clean: 629 find . -type f \ 630 \( -name 'core' -o -name '*.bak' -o -name '*~' \ 631 -o -name '*.o' -o -name '*.a' \) -print \ 632 | xargs rm -f 633 rm -f examples/hello_world examples/timer examples/eepro100_eeprom 634 rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr 635 rm -f tools/easylogo/easylogo tools/bmp_logo 636 rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend 637 638clobber: clean 639 find . -type f \ 640 \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \ 641 -print \ 642 | xargs rm -f 643 rm -f $(OBJS) *.bak tags TAGS 644 rm -fr *.*~ 645 rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map 646 rm -f tools/crc32.c tools/environment.c 647 rm -f include/asm/arch include/asm 648 649mrproper \ 650distclean: clobber unconfig 651 652backup: 653 F=`basename $(TOPDIR)` ; cd .. ; \ 654 gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F 655 656######################################################################### 657