]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
- ext2fs support added
[karo-tx-uboot.git] / Makefile
index 1520f57408e46b77a84a253408e1cd6ec4c90ce4..363ca5ec105214be0506a190290744ba66a89147 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ export        TOPDIR
 ifeq (include/config.mk,$(wildcard include/config.mk))
 # load ARCH, BOARD, and CPU configuration
 include include/config.mk
-export ARCH CPU BOARD VENDOR
+export ARCH CPU BOARD VENDOR SOC
 # load other configuration
 include $(TOPDIR)/config.mk
 
@@ -72,9 +72,15 @@ endif
 ifeq ($(ARCH),nios)
 CROSS_COMPILE = nios-elf-
 endif
+ifeq ($(ARCH),nios2)
+CROSS_COMPILE = nios2-elf-
+endif
 ifeq ($(ARCH),m68k)
 CROSS_COMPILE = m68k-elf-
 endif
+ifeq ($(ARCH),microblaze)
+CROSS_COMPILE = mb-
+endif
 endif
 endif
 
@@ -98,8 +104,12 @@ endif
 LIBS  = lib_generic/libgeneric.a
 LIBS += board/$(BOARDDIR)/lib$(BOARD).a
 LIBS += cpu/$(CPU)/lib$(CPU).a
+ifdef SOC
+LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
+endif
 LIBS += lib_$(ARCH)/lib$(ARCH).a
-LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a
+LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
+       fs/reiserfs/libreiserfs.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += rtc/librtc.a
@@ -111,7 +121,8 @@ LIBS += common/libcommon.a
 .PHONY : $(LIBS)
 
 # Add GCC lib
-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+PLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+
 
 # The "tools" are needed early, so put this first
 # Don't include stuff already done in $(LIBS)
@@ -164,10 +175,16 @@ depend dep:
 
 tags:
                ctags -w `find $(SUBDIRS) include \
+                               lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
+                               fs/cramfs fs/fat fs/fdos fs/jffs2 \
+                               net disk rtc dtt drivers drivers/sk98lin common \
                        \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
 
 etags:
                etags -a `find $(SUBDIRS) include \
+                               lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
+                               fs/cramfs fs/fat fs/fdos fs/jffs2 \
+                               net disk rtc dtt drivers drivers/sk98lin common \
                        \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
 
 System.map:    u-boot
@@ -185,7 +202,7 @@ endif
 #########################################################################
 
 unconfig:
-       rm -f include/config.h include/config.mk
+       @rm -f include/config.h include/config.mk board/*/config.tmp
 
 #========================================================================
 # PowerPC
@@ -198,29 +215,34 @@ unconfig:
 cmi_mpc5xx_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc5xx cmi
 
-PATI_config:unconfig
+PATI_config:           unconfig
        @./mkconfig $(@:_config=) ppc mpc5xx pati mpl
 
 #########################################################################
 ## MPC5xxx Systems
 #########################################################################
-MPC5200LITE_config             \
-MPC5200LITE_LOWBOOT_config     \
-MPC5200LITE_LOWBOOT08_config   \
-icecube_5200_DDR_LOWBOOT_config        \
-icecube_5200_DDR_config                \
-IceCube_5200_DDR_config                \
-icecube_5200_config            \
-IceCube_5200_config            \
-IceCube_5100_config:           unconfig
+Lite5200_config                                \
+Lite5200_LOWBOOT_config                        \
+Lite5200_LOWBOOT08_config              \
+icecube_5200_config                    \
+icecube_5200_LOWBOOT_config            \
+icecube_5200_LOWBOOT08_config          \
+icecube_5200_DDR_config                \
+icecube_5200_DDR_LOWBOOT_config        \
+icecube_5200_DDR_LOWBOOT08_config      \
+icecube_5100_config:                   unconfig
        @ >include/config.h
-       @[ -z "$(findstring LOWBOOT,$@)" ] || \
-               { echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
+       @[ -z "$(findstring LOWBOOT_,$@)" ] || \
+               { if [ "$(findstring DDR,$@)" ] ; \
+                       then echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
+                       else echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
+                 fi ; \
                  echo "... with LOWBOOT configuration" ; \
                }
        @[ -z "$(findstring LOWBOOT08,$@)" ] || \
                { echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
                  echo "... with 8 MB flash only" ; \
+                 echo "... with LOWBOOT configuration" ; \
                }
        @[ -z "$(findstring DDR,$@)" ] || \
                { echo "#define CONFIG_MPC5200_DDR"     >>include/config.h ; \
@@ -236,33 +258,112 @@ IceCube_5100_config:             unconfig
                }
        @./mkconfig -a IceCube ppc mpc5xxx icecube
 
+inka4x0_config:                unconfig
+       @./mkconfig inka4x0 ppc mpc5xxx inka4x0
+
+PM520_config \
+PM520_DDR_config \
+PM520_ROMBOOT_config \
+PM520_ROMBOOT_DDR_config:      unconfig
+       @ >include/config.h
+       @[ -z "$(findstring DDR,$@)" ] || \
+               { echo "#define CONFIG_MPC5200_DDR"     >>include/config.h ; \
+                 echo "... DDR memory revision" ; \
+               }
+       @[ -z "$(findstring ROMBOOT,$@)" ] || \
+               { echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
+                 echo "... booting from 8-bit flash" ; \
+               }
+       @./mkconfig -a PM520 ppc mpc5xxx pm520
+
 MINI5200_config        \
 EVAL5200_config        \
 TOP5200_config:        unconfig
        @ echo "#define CONFIG_$(@:_config=) 1" >include/config.h
        @./mkconfig -a TOP5200 ppc mpc5xxx top5200 emk
 
+Total5100_config               \
+Total5200_config               \
+Total5200_lowboot_config       \
+Total5200_Rev2_config          \
+Total5200_Rev2_lowboot_config: unconfig
+       @ >include/config.h
+       @[ -z "$(findstring 5100,$@)" ] || \
+               { echo "#define CONFIG_MGT5100"         >>include/config.h ; \
+                 echo "... with MGT5100 processor" ; \
+               }
+       @[ -z "$(findstring 5200,$@)" ] || \
+               { echo "#define CONFIG_MPC5200"         >>include/config.h ; \
+                 echo "... with MPC5200 processor" ; \
+               }
+       @[ -n "$(findstring Rev,$@)" ] || \
+               { echo "#define CONFIG_TOTAL5200_REV 1" >>include/config.h ; \
+                 echo "... revision 1 board" ; \
+               }
+       @[ -z "$(findstring Rev2_,$@)" ] || \
+               { echo "#define CONFIG_TOTAL5200_REV 2" >>include/config.h ; \
+                 echo "... revision 2 board" ; \
+               }
+       @[ -z "$(findstring lowboot_,$@)" ] || \
+               { echo "TEXT_BASE = 0xFE000000" >board/total5200/config.tmp ; \
+                 echo "... with lowboot configuration" ; \
+               }
+       @./mkconfig -a Total5200 ppc mpc5xxx total5200
+
+TQM5200_auto_config            \
+TQM5200_AA_config      \
+TQM5200_AB_config      \
+TQM5200_AC_config      \
+MiniFAP_config:        unconfig
+       @ >include/config.h
+       @[ -z "$(findstring MiniFAP,$@)" ] || \
+               { echo "#define CONFIG_MINIFAP" >>include/config.h ; \
+                 echo "#define CONFIG_TQM5200_AC"      >>include/config.h ; \
+                 echo "... TQM5200_AC on MiniFAP" ; \
+               }
+       @[ -z "$(findstring AA,$@)" ] || \
+               { echo "#define CONFIG_TQM5200_AA"      >>include/config.h ; \
+                 echo "... with 4 MB Flash, 16 MB SDRAM, 32 kB EEPROM" ; \
+               }
+       @[ -z "$(findstring AB,$@)" ] || \
+               { echo "#define CONFIG_TQM5200_AB"      >>include/config.h ; \
+                 echo "... with 64 MB Flash, 64 MB SDRAM, 32 kB EEPROM, 512 kB SRAM" ; \
+                 echo "... with Graphics Controller"; \
+               }
+       @[ -z "$(findstring AC,$@)" ] || \
+               { echo "#define CONFIG_TQM5200_AC"      >>include/config.h ; \
+                 echo "... with 4 MB Flash, 128 MB SDRAM" ; \
+                 echo "... with Graphics Controller"; \
+               }
+       @[ -z "$(findstring auto,$@)" ] || \
+               { echo "#define CONFIG_CS_AUTOCONF"     >>include/config.h ; \
+                 echo "... with automatic CS configuration" ; \
+               }
+       @./mkconfig -a TQM5200 ppc mpc5xxx tqm5200
+
 #########################################################################
 ## MPC8xx Systems
 #########################################################################
 
-AdderII_config:        unconfig
-       @./mkconfig $(@:_config=) ppc mpc8xx adderII
+Adder_config    \
+Adder87x_config \
+AdderII_config  \
+       :               unconfig
+       $(if $(findstring AdderII,$@), \
+       @echo "#define CONFIG_MPC852T" > include/config.h)
+       @./mkconfig -a Adder ppc mpc8xx adder
 
 ADS860_config     \
-DUET_ADS_config   \
 FADS823_config    \
 FADS850SAR_config \
 MPC86xADS_config  \
+MPC885ADS_config  \
 FADS860T_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx fads
 
 AMX860_config  :       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
 
-bms2003_config :       unconfig
-       @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
-
 c2mon_config:          unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx c2mon
 
@@ -304,6 +405,9 @@ GTH_config: unconfig
 hermes_config  :       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx hermes
 
+HMI10_config   :       unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
+
 IAD210_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
 
@@ -352,7 +456,10 @@ IVMS8_config:      unconfig
        @./mkconfig -a IVMS8 ppc mpc8xx ivm
 
 KUP4K_config   :       unconfig
-       @./mkconfig $(@:_config=) ppc mpc8xx kup4k
+       @./mkconfig $(@:_config=) ppc mpc8xx kup4k kup
+
+KUP4X_config    :       unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx kup4x kup
 
 LANTEC_config  :       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx lantec
@@ -385,6 +492,66 @@ NETVIA_config:             unconfig
                 }
        @./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
 
+xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
+
+NETPHONE_V2_config \
+NETPHONE_config:       unconfig
+       @ >include/config.h
+       @[ -z "$(findstring NETPHONE_config,$@)" ] || \
+                { echo "#define CONFIG_NETPHONE_VERSION 1" >>include/config.h ; \
+                }
+       @[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
+                { echo "#define CONFIG_NETPHONE_VERSION 2" >>include/config.h ; \
+                }
+       @./mkconfig -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
+
+xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
+
+NETTA_ISDN_6412_SWAPHOOK_config \
+NETTA_ISDN_SWAPHOOK_config \
+NETTA_6412_SWAPHOOK_config \
+NETTA_SWAPHOOK_config \
+NETTA_ISDN_6412_config \
+NETTA_ISDN_config \
+NETTA_6412_config \
+NETTA_config:          unconfig
+       @ >include/config.h
+       @[ -z "$(findstring ISDN_,$@)" ] || \
+                { echo "#define CONFIG_NETTA_ISDN 1" >>include/config.h ; \
+                }
+       @[ -n "$(findstring ISDN_,$@)" ] || \
+                { echo "#undef CONFIG_NETTA_ISDN" >>include/config.h ; \
+                }
+       @[ -z "$(findstring 6412_,$@)" ] || \
+                { echo "#define CONFIG_NETTA_6412 1" >>include/config.h ; \
+                }
+       @[ -n "$(findstring 6412_,$@)" ] || \
+                { echo "#undef CONFIG_NETTA_6412" >>include/config.h ; \
+                }
+       @[ -z "$(findstring SWAPHOOK_,$@)" ] || \
+                { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>include/config.h ; \
+                }
+       @[ -n "$(findstring SWAPHOOK_,$@)" ] || \
+                { echo "#undef CONFIG_NETTA_SWAPHOOK" >>include/config.h ; \
+                }
+       @./mkconfig -a $(call xtract_NETTA,$@) ppc mpc8xx netta
+
+xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
+
+NETTA2_V2_config \
+NETTA2_config:         unconfig
+       @ >include/config.h
+       @[ -z "$(findstring NETTA2_config,$@)" ] || \
+                { echo "#define CONFIG_NETTA2_VERSION 1" >>include/config.h ; \
+                }
+       @[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
+                { echo "#define CONFIG_NETTA2_VERSION 2" >>include/config.h ; \
+                }
+       @./mkconfig -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
+
+NC650_config:  unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx nc650
+
 NX823_config:          unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx nx823
 
@@ -400,6 +567,9 @@ QS823_config:       unconfig
 QS860T_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
 
+quantum_config:        unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx quantum
+
 R360MPI_config:        unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
 
@@ -412,6 +582,30 @@ RPXClassic_config: unconfig
 RPXlite_config:                unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx RPXlite
 
+RPXlite_DW_64_config           \
+RPXlite_DW_LCD_config          \
+RPXlite_DW_64_LCD_config       \
+RPXlite_DW_NVRAM_config                \
+RPXlite_DW_NVRAM_64_config      \
+RPXlite_DW_NVRAM_LCD_config    \
+RPXlite_DW_NVRAM_64_LCD_config  \
+RPXlite_DW_config:         unconfig
+       @ >include/config.h
+       @[ -z "$(findstring _64,$@)" ] || \
+               { echo "#define RPXlite_64MHz"          >>include/config.h ; \
+                 echo "... with 64MHz system clock ..."; \
+               }
+       @[ -z "$(findstring _LCD,$@)" ] || \
+               { echo "#define CONFIG_LCD"             >>include/config.h ; \
+                 echo "#define CONFIG_NEC_NL6448BC20"  >>include/config.h ; \
+                 echo "... with LCD display ..."; \
+               }
+       @[ -z "$(findstring _NVRAM,$@)" ] || \
+               { echo "#define  CFG_ENV_IS_IN_NVRAM"   >>include/config.h ; \
+                 echo "... with ENV in NVRAM ..."; \
+               }
+       @./mkconfig -a RPXlite_DW ppc mpc8xx RPXlite_dw
+
 rmu_config:    unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx rmu
 
@@ -441,66 +635,26 @@ TOP860_config:            unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx top860 emk
 
 # Play some tricks for configuration selection
-# All boards can come with 50 MHz (default), 66MHz, 80MHz or 100 MHz clock,
-# but only 855 and 860 boards may come with FEC
-# and 823 boards may have LCD support
-xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _100MHz,,$(subst _133MHz,,$(subst _LCD,,$(subst _config,,$1))))))
+# Only 855 and 860 boards may come with FEC
+# and only 823 boards may have LCD support
+xtract_8xx = $(subst _LCD,,$(subst _config,,$1))
 
 FPS850L_config         \
 FPS860L_config         \
 NSCU_config            \
 TQM823L_config         \
-TQM823L_66MHz_config   \
-TQM823L_80MHz_config   \
 TQM823L_LCD_config     \
-TQM823L_LCD_66MHz_config \
-TQM823L_LCD_80MHz_config \
 TQM850L_config         \
-TQM850L_66MHz_config   \
-TQM850L_80MHz_config   \
 TQM855L_config         \
-TQM855L_66MHz_config   \
-TQM855L_80MHz_config   \
 TQM860L_config         \
-TQM860L_66MHz_config   \
-TQM860L_80MHz_config   \
 TQM862L_config         \
-TQM862L_66MHz_config   \
-TQM862L_80MHz_config   \
 TQM823M_config         \
-TQM823M_66MHz_config   \
-TQM823M_80MHz_config   \
 TQM850M_config         \
-TQM850M_66MHz_config   \
-TQM850M_80MHz_config   \
 TQM855M_config         \
-TQM855M_66MHz_config   \
-TQM855M_80MHz_config   \
 TQM860M_config         \
-TQM860M_66MHz_config   \
-TQM860M_80MHz_config   \
 TQM862M_config         \
-TQM862M_66MHz_config   \
-TQM862M_80MHz_config   \
-TQM862M_100MHz_config  \
 TQM866M_config:                unconfig
        @ >include/config.h
-       @[ -z "$(findstring _66MHz,$@)" ] || \
-               { echo "#define CONFIG_66MHz"           >>include/config.h ; \
-                 echo "... with 66MHz system clock" ; \
-               }
-       @[ -z "$(findstring _80MHz,$@)" ] || \
-               { echo "#define CONFIG_80MHz"           >>include/config.h ; \
-                 echo "... with 80MHz system clock" ; \
-               }
-       @[ -z "$(findstring _100MHz,$@)" ] || \
-               { echo "#define CONFIG_100MHz"          >>include/config.h ; \
-                 echo "... with 100MHz system clock" ; \
-               }
-       @[ -z "$(findstring _133MHz,$@)" ] || \
-               { echo "#define CONFIG_133MHz"          >>include/config.h ; \
-                 echo "... with 133MHz system clock" ; \
-               }
        @[ -z "$(findstring _LCD,$@)" ] || \
                { echo "#define CONFIG_LCD"             >>include/config.h ; \
                  echo "#define CONFIG_NEC_NL6448BC20"  >>include/config.h ; \
@@ -526,7 +680,7 @@ wtk_config: unconfig
 #########################################################################
 ## PPC4xx Systems
 #########################################################################
-xtract_4xx = $(subst _MODEL_BA,,$(subst _MODEL_ME,,$(subst _MODEL_HI,,$(subst _config,,$1))))
+xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1))))))
 
 ADCIOP_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx adciop esd
@@ -537,12 +691,27 @@ AR405_config:     unconfig
 ASH405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
 
-BUBINGA405EP_config:unconfig
+BUBINGA405EP_config:   unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
 
 CANBT_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
 
+CATcenter_config       \
+CATcenter_25_config    \
+CATcenter_33_config:   unconfig
+       @ echo "/* CATcenter uses PPChameleon Model ME */"  > include/config.h
+       @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> include/config.h
+       @[ -z "$(findstring _25,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
+                 echo "SysClk = 25MHz" ; \
+               }
+       @[ -z "$(findstring _33,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
+                 echo "SysClk = 33MHz" ; \
+               }
+       @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
+
 CPCI405_config \
 CPCI4052_config        \
 CPCI405AB_config:      unconfig
@@ -555,12 +724,15 @@ CPCI440_config:   unconfig
 CPCIISER4_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
 
-CRAYL1_config:unconfig
+CRAYL1_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx L1 cray
 
 csb272_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx csb272
 
+csb472_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx csb472
+
 DASA_SIM_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
 
@@ -570,29 +742,38 @@ DP405_config:     unconfig
 DU405_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx du405 esd
 
-EBONY_config:unconfig
+EBONY_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ebony
 
-ERIC_config:unconfig
+ERIC_config:   unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx eric
 
-EXBITGEN_config:unconfig
+EXBITGEN_config:       unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx exbitgen
 
 HUB405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
 
-MIP405_config:unconfig
+JSE_config:    unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx jse
+
+MIP405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
 
-MIP405T_config:unconfig
+MIP405T_config:        unconfig
        @echo "#define CONFIG_MIP405T" >include/config.h
        @echo "Enable subset config for MIP405T"
        @./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
 
-ML2_config:unconfig
+ML2_config:    unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ml2
 
+ml300_config:  unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx ml300 xilinx
+
+OCOTEA_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx ocotea
+
 OCRTC_config           \
 ORSG_config:   unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
@@ -600,7 +781,7 @@ ORSG_config:        unconfig
 PCI405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
 
-PIP405_config:unconfig
+PIP405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
 
 PLU405_config: unconfig
@@ -609,23 +790,34 @@ PLU405_config:    unconfig
 PMC405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
 
-PPChameleonEVB_MODEL_BA_config \
-PPChameleonEVB_MODEL_ME_config \
-PPChameleonEVB_MODEL_HI_config \
-PPChameleonEVB_config: unconfig
+PPChameleonEVB_config          \
+PPChameleonEVB_BA_25_config    \
+PPChameleonEVB_ME_25_config    \
+PPChameleonEVB_HI_25_config    \
+PPChameleonEVB_BA_33_config    \
+PPChameleonEVB_ME_33_config    \
+PPChameleonEVB_HI_33_config:   unconfig
        @ >include/config.h
-       @[ -z "$(findstring _MODEL_BA,$@)" ] || \
+       @[ -z "$(findstring EVB_BA,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
                  echo "... BASIC model" ; \
                }
-       @[ -z "$(findstring _MODEL_ME,$@)" ] || \
+       @[ -z "$(findstring EVB_ME,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
                  echo "... MEDIUM model" ; \
                }
-       @[ -z "$(findstring _MODEL_HI,$@)" ] || \
+       @[ -z "$(findstring EVB_HI,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
                  echo "... HIGH-END model" ; \
                }
+       @[ -z "$(findstring _25,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
+                 echo "SysClk = 25MHz" ; \
+               }
+       @[ -z "$(findstring _33,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
+                 echo "SysClk = 33MHz" ; \
+               }
        @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
 
 VOH405_config: unconfig
@@ -635,16 +827,25 @@ W7OLMC_config     \
 W7OLMG_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx w7o
 
-WALNUT405_config:unconfig
+WALNUT405_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx walnut405
 
-XPEDITE1K_config:unconfig
+XPEDITE1K_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx xpedite1k
 
+#########################################################################
+## MPC8220 Systems
+#########################################################################
+Alaska8220_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc8220 alaska
+
+Yukon8220_config:      unconfig
+       @./mkconfig $(@:_config=) ppc mpc8220 yukon
+
 #########################################################################
 ## MPC824x Systems
 #########################################################################
-xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
+xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
 
 A3000_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x a3000
@@ -668,6 +869,12 @@ CPC45_ROMBOOT_config:      unconfig
 CU824_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x cu824
 
+debris_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x debris etin
+
+eXalion_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x eXalion
+
 MOUSSE_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x mousse
 
@@ -689,6 +896,9 @@ Sandpoint8240_config: unconfig
 Sandpoint8245_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x sandpoint
 
+sbc8240_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x sbc8240
+
 SL8245_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x sl8245
 
@@ -730,38 +940,84 @@ hymod_config:     unconfig
 IPHASE4539_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 iphase4539
 
-MPC8260ADS_config:     unconfig
-       @./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
+ISPAN_config           \
+ISPAN_REVB_config:     unconfig
+       @if [ "$(findstring _REVB_,$@)" ] ; then \
+               echo "#define CFG_REV_B" > include/config.h ; \
+       fi
+       @./mkconfig -a ISPAN ppc mpc8260 ispan
+
+MPC8260ADS_config      \
+MPC8260ADS_33MHz_config        \
+MPC8260ADS_40MHz_config        \
+MPC8272ADS_config      \
+PQ2FADS_config         \
+PQ2FADS-VR_config      \
+PQ2FADS-ZU_config      \
+PQ2FADS-ZU_66MHz_config        \
+       :               unconfig
+       $(if $(findstring PQ2FADS,$@), \
+       @echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > include/config.h, \
+       @echo "#define CONFIG_ADSTYPE CFG_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > include/config.h)
+       $(if $(findstring MHz,$@), \
+       @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> include/config.h, \
+       $(if $(findstring VR,$@), \
+       @echo "#define CONFIG_8260_CLKIN 66000000" >> include/config.h))
+       @./mkconfig -a MPC8260ADS ppc mpc8260 mpc8260ads
 
 MPC8266ADS_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
 
+# PM825/PM826 default configuration:  small (= 8 MB) Flash / boot from 64-bit flash
 PM825_config   \
-PM825_ROMBOOT_config: unconfig
-       @echo "#define CONFIG_PCI"      >include/config.h
-       @./mkconfig -a PM826 ppc mpc8260 pm826
-       @cd ./include ;                         \
-       if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
-               echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
+PM825_ROMBOOT_config   \
+PM825_BIGFLASH_config  \
+PM825_ROMBOOT_BIGFLASH_config  \
+PM826_config   \
+PM826_ROMBOOT_config   \
+PM826_BIGFLASH_config  \
+PM826_ROMBOOT_BIGFLASH_config: unconfig
+       @if [ "$(findstring PM825_,$@)" ] ; then \
+               echo "#define CONFIG_PCI"       >include/config.h ; \
+       else \
+               >include/config.h ; \
+       fi
+       @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
                echo "... booting from 8-bit flash" ; \
+               echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
+               echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
+               if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
+                       echo "... with 32 MB Flash" ; \
+                       echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
+               fi; \
        else \
-               echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
                echo "... booting from 64-bit flash" ; \
-       fi; \
-       echo "export CONFIG_BOOT_ROM" >> config.mk; \
+               if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
+                       echo "... with 32 MB Flash" ; \
+                       echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
+                       echo "TEXT_BASE = 0x40000000" >board/pm826/config.tmp ; \
+               else \
+                       echo "TEXT_BASE = 0xFF000000" >board/pm826/config.tmp ; \
+               fi; \
+       fi
+       @./mkconfig -a PM826 ppc mpc8260 pm826
 
-PM826_config   \
-PM826_ROMBOOT_config: unconfig
-       @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
-       @cd ./include ;                         \
-       if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
-               echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
-               echo "... booting from 8-bit flash" ; \
+PM828_config   \
+PM828_PCI_config       \
+PM828_ROMBOOT_config   \
+PM828_ROMBOOT_PCI_config:      unconfig
+       @if [ -z "$(findstring _PCI_,$@)" ] ; then \
+               echo "#define CONFIG_PCI"  >>include/config.h ; \
+               echo "... with PCI enabled" ; \
        else \
-               echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
-               echo "... booting from 64-bit flash" ; \
-       fi; \
-       echo "export CONFIG_BOOT_ROM" >> config.mk; \
+               >include/config.h ; \
+       fi
+       @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
+               echo "... booting from 8-bit flash" ; \
+               echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
+               echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
+       fi
+       @./mkconfig -a PM828 ppc mpc8260 pm828
 
 ppmc8260_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
@@ -845,12 +1101,45 @@ M5282EVB_config :                unconfig
 ## MPC85xx Systems
 #########################################################################
 
-MPC8540ADS_config:      unconfig
+MPC8540ADS_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
 
-MPC8560ADS_config:      unconfig
+MPC8560ADS_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
 
+MPC8541CDS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx mpc8541cds cds
+
+MPC8555CDS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx mpc8555cds cds
+
+sbc8540_config \
+sbc8540_33_config \
+sbc8540_66_config:     unconfig
+       @if [ "$(findstring _66_,$@)" ] ; then \
+               echo "#define CONFIG_PCI_66"    >>include/config.h ; \
+               echo "... 66 MHz PCI" ; \
+       else \
+               >include/config.h ; \
+               echo "... 33 MHz PCI" ; \
+       fi
+       @./mkconfig -a SBC8540 ppc mpc85xx sbc8560
+
+sbc8560_config \
+sbc8560_33_config \
+sbc8560_66_config:      unconfig
+       @if [ "$(findstring _66_,$@)" ] ; then \
+               echo "#define CONFIG_PCI_66"    >>include/config.h ; \
+               echo "... 66 MHz PCI" ; \
+       else \
+               >include/config.h ; \
+               echo "... 33 MHz PCI" ; \
+       fi
+       @./mkconfig -a sbc8560 ppc mpc85xx sbc8560
+
+stxgp3_config:         unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx stxgp3
+
 #########################################################################
 ## 74xx/7xx Systems
 #########################################################################
@@ -867,9 +1156,6 @@ DB64360_config:  unconfig
 DB64460_config:  unconfig
        @./mkconfig DB64460 ppc 74xx_7xx db64460 Marvell
 
-debris_config: unconfig
-       @./mkconfig $(@:_config=) ppc mpc824x debris etin
-
 ELPPC_config: unconfig
        @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
 
@@ -894,15 +1180,18 @@ ZUMA_config:     unconfig
 ## StrongARM Systems
 #########################################################################
 
-at91rm9200dk_config    :       unconfig
-       @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
-
-lart_config    :       unconfig
-       @./mkconfig $(@:_config=) arm sa1100 lart
+assabet_config :       unconfig
+       @./mkconfig $(@:_config=) arm sa1100 assabet
 
 dnp1110_config :       unconfig
        @./mkconfig $(@:_config=) arm sa1100 dnp1110
 
+gcplus_config  :       unconfig
+       @./mkconfig $(@:_config=) arm sa1100 gcplus
+
+lart_config    :       unconfig
+       @./mkconfig $(@:_config=) arm sa1100 lart
+
 shannon_config :       unconfig
        @./mkconfig $(@:_config=) arm sa1100 shannon
 
@@ -912,17 +1201,75 @@ shannon_config   :       unconfig
 
 xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
 
+xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
+
+xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
+
+integratorap_config :  unconfig
+       @./mkconfig $(@:_config=) arm arm926ejs integratorap
+
+integratorcp_config :  unconfig
+       @./mkconfig $(@:_config=) arm arm926ejs integratorcp
+
+lpd7a400_config \
+lpd7a404_config:       unconfig
+       @./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
+
+mx1ads_config  :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
+
+mx1fs2_config  :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t mx1fs2 NULL imx
+
 omap1510inn_config :   unconfig
        @./mkconfig $(@:_config=) arm arm925t omap1510inn
 
-omap1610inn_config :   unconfig
-       @./mkconfig $(@:_config=) arm arm926ejs omap1610inn
+omap5912osk_config :   unconfig
+       @./mkconfig $(@:_config=) arm arm926ejs omap5912osk
+
+omap1610inn_config \
+omap1610inn_cs0boot_config \
+omap1610inn_cs3boot_config \
+omap1610inn_cs_autoboot_config \
+omap1610h2_config \
+omap1610h2_cs0boot_config \
+omap1610h2_cs3boot_config \
+omap1610h2_cs_autoboot_config: unconfig
+       @if [ "$(findstring _cs0boot_, $@)" ] ; then \
+               echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
+               echo "... configured for CS0 boot"; \
+       elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
+               echo "#define CONFIG_CS_AUTOBOOT" >> ./include/config.h ; \
+               echo "... configured for CS_AUTO boot"; \
+       else \
+               echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
+               echo "... configured for CS3 boot"; \
+       fi;
+       @./mkconfig -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn
+
+omap730p2_config \
+omap730p2_cs0boot_config \
+omap730p2_cs3boot_config :     unconfig
+       @if [ "$(findstring _cs0boot_, $@)" ] ; then \
+               echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
+               echo "... configured for CS0 boot"; \
+       else \
+               echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
+               echo "... configured for CS3 boot"; \
+       fi;
+       @./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
+
+scb9328_config :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx
 
 smdk2400_config        :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t smdk2400
+       @./mkconfig $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
 
 smdk2410_config        :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t smdk2410
+       @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
+
+SX1_config :           unconfig
+       @./mkconfig $(@:_config=) arm arm925t sx1
 
 # TRAB default configuration:  8 MB Flash, 32 MB RAM
 trab_config \
@@ -947,28 +1294,54 @@ trab_old_config: unconfig
                  echo "... with 8 MB Flash, 16 MB RAM" ; \
                  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
                }
-       @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
+       @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
 
 VCMA9_config   :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t vcma9 mpl
+       @./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
+
+versatile_config :     unconfig
+       @./mkconfig $(@:_config=) arm arm926ejs versatile
 
 #########################################################################
-## ARM720T Systems
+## S3C44B0 Systems
 #########################################################################
 
-impa7_config   :       unconfig
-       @./mkconfig $(@:_config=) arm arm720t impa7
+B2_config      :       unconfig
+       @./mkconfig $(@:_config=) arm s3c44b0 B2 dave
+
+#########################################################################
+## ARM720T Systems
+#########################################################################
 
 ep7312_config  :       unconfig
        @./mkconfig $(@:_config=) arm arm720t ep7312
 
+impa7_config   :       unconfig
+       @./mkconfig $(@:_config=) arm arm720t impa7
+
 modnet50_config :      unconfig
        @./mkconfig $(@:_config=) arm arm720t modnet50
 
+evb4510_config :       unconfig
+       @./mkconfig $(@:_config=) arm arm720t evb4510
+
+#########################################################################
+## AT91RM9200 Systems
+#########################################################################
+
+at91rm9200dk_config    :       unconfig
+       @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
+
+cmc_pu2_config :       unconfig
+       @./mkconfig $(@:_config=) arm at91rm9200 cmc_pu2
+
 #########################################################################
 ## XScale Systems
 #########################################################################
 
+cerf250_config :       unconfig
+       @./mkconfig $(@:_config=) arm pxa cerf250
+
 cradle_config  :       unconfig
        @./mkconfig $(@:_config=) arm pxa cradle
 
@@ -990,6 +1363,15 @@ logodl_config     :       unconfig
 wepep250_config        :       unconfig
        @./mkconfig $(@:_config=) arm pxa wepep250
 
+xaeniax_config :       unconfig
+       @./mkconfig $(@:_config=) arm pxa xaeniax
+
+xm250_config   :       unconfig
+       @./mkconfig $(@:_config=) arm pxa xm250
+
+xsengine_config :      unconfig
+       @./mkconfig $(@:_config=) arm pxa xsengine
+
 #========================================================================
 # i386
 #========================================================================
@@ -1036,6 +1418,24 @@ incaip_config: unconfig
 tb0229_config: unconfig
        @./mkconfig $(@:_config=) mips mips tb0229
 
+#########################################################################
+## MIPS32 AU1X00
+#########################################################################
+dbau1000_config                :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_DBAU1000 1" >>include/config.h
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1100_config                :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_DBAU1100 1" >>include/config.h
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1500_config                :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_DBAU1500 1" >>include/config.h
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
 #########################################################################
 ## MIPS64 5Kc
 #########################################################################
@@ -1091,24 +1491,44 @@ DK1S10_config:  unconfig
                }
        @./mkconfig -a DK1S10 nios nios dk1s10 altera
 
+ADNPESC1_DNPEVA2_base_32_config        \
+ADNPESC1_base_32_config                \
+ADNPESC1_config: unconfig
+       @ >include/config.h
+       @[ -z "$(findstring _DNPEVA2,$@)" ] || \
+               { echo "#define CONFIG_DNPEVA2 1" >>include/config.h ; \
+                 echo "... DNP/EVA2 configuration" ; \
+               }
+       @[ -z "$(findstring _base_32,$@)" ] || \
+               { echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
+                 echo "... NIOS 'base_32' configuration" ; \
+               }
+       @[ -z "$(findstring ADNPESC1_config,$@)" ] || \
+               { echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
+                 echo "... NIOS 'base_32' configuration (DEFAULT)" ; \
+               }
+       @./mkconfig -a ADNPESC1 nios nios adnpesc1 ssv
 
 #########################################################################
-## MIPS32 AU1X00
+## Nios-II
 #########################################################################
-dbau1000_config                :       unconfig
-       @ >include/config.h
-       @echo "#define CONFIG_DBAU1000 1" >>include/config.h
-       @./mkconfig -a dbau1x00 mips mips dbau1x00
 
-dbau1100_config                :       unconfig
-       @ >include/config.h
-       @echo "#define CONFIG_DBAU1100 1" >>include/config.h
-       @./mkconfig -a dbau1x00 mips mips dbau1x00
+PK1C20_config : unconfig
+       @./mkconfig  PK1C20 nios2 nios2 pk1c20 psyent
 
-dbau1500_config                :       unconfig
+PCI5441_config : unconfig
+       @./mkconfig  PCI5441 nios2 nios2 pci5441 psyent
+
+#========================================================================
+# MicroBlaze
+#========================================================================
+#########################################################################
+## Microblaze
+#########################################################################
+suzaku_config: unconfig
        @ >include/config.h
-       @echo "#define CONFIG_DBAU1500 1" >>include/config.h
-       @./mkconfig -a dbau1x00 mips mips dbau1x00
+       @echo "#define CONFIG_SUZAKU 1" >> include/config.h
+       @./mkconfig -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
 
 #########################################################################
 #########################################################################
@@ -1121,19 +1541,19 @@ clean:
        rm -f examples/hello_world examples/timer \
              examples/eepro100_eeprom examples/sched \
              examples/mem_to_mem_idma2intr examples/82559_eeprom
-
        rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
+       rm -f tools/mpc86x_clk tools/ncb
        rm -f tools/easylogo/easylogo tools/bmp_logo
        rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
        rm -f tools/env/fw_printenv tools/env/fw_setenv
        rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
-       rm -f board/trab/trab_fkt board/*/config.tmp
+       rm -f board/trab/trab_fkt
 
 clobber:       clean
-       find . -type f \
-               \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
-               -print \
-               | xargs rm -f
+       find . -type f \( -name .depend \
+               -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
+               -print0 \
+               | xargs -0 rm -f
        rm -f $(OBJS) *.bak tags TAGS
        rm -fr *.*~
        rm -f u-boot u-boot.map $(ALL)