# # (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this # project. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundatio; either version 2 of # the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # VERSION = 1 PATCHLEVEL = 2 SUBLEVEL = 0 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h HOSTARCH := $(shell uname -m | \ sed -e s/i.86/i386/ \ -e s/sun4u/sparc64/ \ -e s/arm.*/arm/ \ -e s/sa110/arm/ \ -e s/powerpc/ppc/ \ -e s/macppc/ppc/) HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ sed -e 's/\(cygwin\).*/cygwin/') export HOSTARCH HOSTOS # Deal with colliding definitions from tcsh etc. VENDOR= ######################################################################### # # U-boot build supports producing a object files to the separate external # directory. Two use cases are supported: # # 1) Add O= to the make command line # 'make O=/tmp/build all' # # 2) Set environement variable BUILD_DIR to point to the desired location # 'export BUILD_DIR=/tmp/build' # 'make' # # The second approach can also be used with a MAKEALL script # 'export BUILD_DIR=/tmp/build' # './MAKEALL' # # Command line 'O=' setting overrides BUILD_DIR environent variable. # # When none of the above methods is used the local build is performed and # the object files are placed in the source directory. # ifdef O ifeq ("$(origin O)", "command line") BUILD_DIR := $(O) endif endif ifneq ($(BUILD_DIR),) saved-output := $(BUILD_DIR) # Attempt to create a output directory. $(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}) # Verify if it was successful. BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd) $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist)) endif # ifneq ($(BUILD_DIR),) OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)) SRCTREE := $(CURDIR) TOPDIR := $(SRCTREE) LNDIR := $(OBJTREE) export TOPDIR SRCTREE OBJTREE MKCONFIG := $(SRCTREE)/mkconfig export MKCONFIG ifneq ($(OBJTREE),$(SRCTREE)) REMOTE_BUILD := 1 export REMOTE_BUILD endif # $(obj) and (src) are defined in config.mk but here in main Makefile # we also need them before config.mk is included which is the case for # some targets like unconfig, clean, clobber, distclean, etc. ifneq ($(OBJTREE),$(SRCTREE)) obj := $(OBJTREE)/ src := $(SRCTREE)/ else obj := src := endif export obj src ######################################################################### ifeq ($(OBJTREE)/include/config.mk,$(wildcard $(OBJTREE)/include/config.mk)) # load ARCH, BOARD, and CPU configuration include $(OBJTREE)/include/config.mk export ARCH CPU BOARD VENDOR SOC ifndef CROSS_COMPILE ifeq ($(HOSTARCH),ppc) CROSS_COMPILE = else ifeq ($(ARCH),ppc) CROSS_COMPILE = powerpc-linux- endif ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux- endif ifeq ($(ARCH),i386) ifeq ($(HOSTARCH),i386) CROSS_COMPILE = else CROSS_COMPILE = i386-linux- endif endif ifeq ($(ARCH),mips) CROSS_COMPILE = mips_4KC- 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 ifeq ($(ARCH),blackfin) CROSS_COMPILE = bfin-elf- endif ifeq ($(ARCH),avr32) CROSS_COMPILE = avr32- endif endif endif export CROSS_COMPILE # load other configuration include $(TOPDIR)/config.mk ######################################################################### # U-Boot objects....order is important (i.e. start must be first) OBJS = cpu/$(CPU)/start.o ifeq ($(CPU),i386) OBJS += cpu/$(CPU)/start16.o OBJS += cpu/$(CPU)/reset.o endif ifeq ($(CPU),ppc4xx) OBJS += cpu/$(CPU)/resetvec.o endif ifeq ($(CPU),mpc85xx) OBJS += cpu/$(CPU)/resetvec.o endif ifeq ($(CPU),mpc86xx) OBJS += cpu/$(CPU)/resetvec.o endif ifeq ($(CPU),bf533) OBJS += cpu/$(CPU)/start1.o cpu/$(CPU)/interrupt.o cpu/$(CPU)/cache.o OBJS += cpu/$(CPU)/cplbhdlr.o cpu/$(CPU)/cplbmgr.o cpu/$(CPU)/flush.o endif OBJS := $(addprefix $(obj),$(OBJS)) 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 \ fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a LIBS += net/libnet.a LIBS += disk/libdisk.a LIBS += rtc/librtc.a LIBS += dtt/libdtt.a LIBS += drivers/libdrivers.a LIBS += drivers/nand/libnand.a LIBS += drivers/nand_legacy/libnand_legacy.a ifeq ($(CPU),mpc83xx) LIBS += drivers/qe/qe.a endif LIBS += drivers/sk98lin/libsk98lin.a LIBS += post/libpost.a post/cpu/libcpu.a LIBS += common/libcommon.a LIBS += $(BOARDLIBS) LIBS := $(addprefix $(obj),$(LIBS)) .PHONY : $(LIBS) # Add GCC lib PLATFORM_LIBS += -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) SUBDIRS = tools \ examples \ post \ post/cpu .PHONY : $(SUBDIRS) ifeq ($(CONFIG_NAND_U_BOOT),y) NAND_SPL = nand_spl U_BOOT_NAND = $(obj)u-boot-nand.bin endif __OBJS := $(subst $(obj),,$(OBJS)) __LIBS := $(subst $(obj),,$(LIBS)) ######################################################################### ######################################################################### ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) all: $(ALL) $(obj)u-boot.hex: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ $(obj)u-boot.srec: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ $(obj)u-boot.bin: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ $(obj)u-boot.img: $(obj)u-boot.bin ./tools/mkimage -A $(ARCH) -T firmware -C none \ -a $(TEXT_BASE) -e 0 \ -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \ sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ -d $< $@ $(obj)u-boot.dis: $(obj)u-boot $(OBJDUMP) -d $< > $@ $(obj)u-boot: depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot $(OBJS): $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@)) $(LIBS): $(MAKE) -C $(dir $(subst $(obj),,$@)) $(SUBDIRS): $(MAKE) -C $@ all $(NAND_SPL): version $(MAKE) -C nand_spl/board/$(BOARDDIR) all $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin version: @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \ echo -n "$(U_BOOT_VERSION)" >> $(VERSION_FILE); \ echo -n $(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion \ $(TOPDIR)) >> $(VERSION_FILE); \ echo "\"" >> $(VERSION_FILE) gdbtools: $(MAKE) -C tools/gdb all || exit 1 updater: $(MAKE) -C tools/updater all || exit 1 env: $(MAKE) -C tools/env all || exit 1 depend dep: for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done tags ctags: ctags -w -o $(OBJTREE)/ctags `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 -o $(OBJTREE)/etags `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 \)` $(obj)System.map: $(obj)u-boot @$(NM) $< | \ grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(obj)System.map ######################################################################### else all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \ $(SUBDIRS) version gdbtools updater env depend \ dep tags ctags etags $(obj)System.map: @echo "System not configured - see README" >&2 @ exit 1 endif .PHONY : CHANGELOG CHANGELOG: git log --no-merges U-Boot-1_1_5.. | \ unexpand -a | sed -e 's/\s\s*$$//' > $@ ######################################################################### unconfig: @rm -f $(obj)include/config.h $(obj)include/config.mk \ $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp #======================================================================== # PowerPC #======================================================================== ######################################################################### ## MPC5xx Systems ######################################################################### canmb_config: unconfig @$(MKCONFIG) -a canmb ppc mpc5xxx canmb PATI_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc5xx pati mpl ######################################################################### ## MPC5xxx Systems ######################################################################### aev_config: unconfig @$(MKCONFIG) -a aev ppc mpc5xxx tqm5200 BC3450_config: unconfig @$(MKCONFIG) -a BC3450 ppc mpc5xxx bc3450 hmi1001_config: unconfig @$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001 v38b_config: unconfig @./mkconfig -a v38b ppc mpc5xxx v38b mcc200_config \ mcc200_SDRAM_config \ mcc200_highboot_config \ mcc200_COM12_config \ mcc200_COM12_SDRAM_config \ mcc200_COM12_highboot_config \ mcc200_COM12_highboot_SDRAM_config \ mcc200_highboot_SDRAM_config \ prs200_config \ prs200_DDR_config \ prs200_highboot_config \ prs200_highboot_DDR_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)board/mcc200 @ >$(obj)include/config.h @[ -n "$(findstring highboot,$@)" ] || \ { echo "... with lowboot configuration" ; \ } @[ -z "$(findstring highboot,$@)" ] || \ { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp ; \ echo "... with highboot configuration" ; \ } @[ -n "$(findstring _SDRAM,$@)" ] || \ { if [ -n "$(findstring mcc200,$@)" ]; \ then \ echo "... with DDR" ; \ else \ if [ -n "$(findstring _DDR,$@)" ];\ then \ echo "... with DDR" ; \ else \ echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\ echo "... with SDRAM" ; \ fi; \ fi; \ } @[ -z "$(findstring _SDRAM,$@)" ] || \ { echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ; \ echo "... with SDRAM" ; \ } @[ -z "$(findstring COM12,$@)" ] || \ { echo "#define CONFIG_CONSOLE_COM12" >>$(obj)include/config.h ; \ echo "... with console on COM12" ; \ } @[ -z "$(findstring prs200,$@)" ] || \ { echo "#define CONFIG_PRS200" >>$(obj)include/config.h ;\ } @$(MKCONFIG) -n $@ -a mcc200 ppc mpc5xxx mcc200 smmaco4_config: unconfig @$(MKCONFIG) -a smmaco4 ppc mpc5xxx tqm5200 spieval_config: unconfig @$(MKCONFIG) -a spieval ppc mpc5xxx tqm5200 TB5200_B_config \ TB5200_config: unconfig @mkdir -p $(obj)include @[ -z "$(findstring _B,$@)" ] || \ { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ echo "... with MPC5200B processor" ; \ } @$(MKCONFIG) -n $@ -a TB5200 ppc mpc5xxx tqm5200 MINI5200_config \ EVAL5200_config \ TOP5200_config: unconfig @mkdir -p $(obj)include @ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h @$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk Total5100_config \ Total5200_config \ Total5200_lowboot_config \ Total5200_Rev2_config \ Total5200_Rev2_lowboot_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)board/total5200 @ >$(obj)include/config.h @[ -z "$(findstring 5100,$@)" ] || \ { echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \ echo "... with MGT5100 processor" ; \ } @[ -z "$(findstring 5200,$@)" ] || \ { echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \ echo "... with MPC5200 processor" ; \ } @[ -n "$(findstring Rev,$@)" ] || \ { echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \ echo "... revision 1 board" ; \ } @[ -z "$(findstring Rev2_,$@)" ] || \ { echo "#define CONFIG_TOTAL5200_REV 2" >>$(obj)include/config.h ; \ echo "... revision 2 board" ; \ } @[ -z "$(findstring lowboot_,$@)" ] || \ { echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp ; \ echo "... with lowboot configuration" ; \ } @$(MKCONFIG) -a Total5200 ppc mpc5xxx total5200 cam5200_config \ fo300_config \ MiniFAP_config \ TQM5200S_config \ TQM5200S_HIGHBOOT_config \ TQM5200_B_config \ TQM5200_B_HIGHBOOT_config \ TQM5200_config \ TQM5200_STK100_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)board/tqm5200 @ >$(obj)include/config.h @[ -z "$(findstring cam5200,$@)" ] || \ { echo "#define CONFIG_CAM5200" >>$(obj)include/config.h ; \ echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ echo "... TQM5200S on Cam5200" ; \ } @[ -z "$(findstring fo300,$@)" ] || \ { echo "#define CONFIG_FO300" >>$(obj)include/config.h ; \ echo "... TQM5200 on FO300" ; \ } @[ -z "$(findstring MiniFAP,$@)" ] || \ { echo "#define CONFIG_MINIFAP" >>$(obj)include/config.h ; \ echo "... TQM5200_AC on MiniFAP" ; \ } @[ -z "$(findstring STK100,$@)" ] || \ { echo "#define CONFIG_STK52XX_REV100" >>$(obj)include/config.h ; \ echo "... on a STK52XX.100 base board" ; \ } @[ -z "$(findstring TQM5200_B,$@)" ] || \ { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ } @[ -z "$(findstring TQM5200S,$@)" ] || \ { echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ } @[ -z "$(findstring HIGHBOOT,$@)" ] || \ { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \ } @$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200 ######################################################################### ## MPC8xx Systems ######################################################################### Adder_config \ Adder87x_config \ AdderII_config \ : unconfig @mkdir -p $(obj)include $(if $(findstring AdderII,$@), \ @echo "#define CONFIG_MPC852T" > $(obj)include/config.h) @$(MKCONFIG) -a Adder ppc mpc8xx adder EP88x_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx ep88x xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1)) KUP4K_config : unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup KUP4X_config : unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4x kup quantum_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx quantum spc1920_config: @$(MKCONFIG) $(@:_config=) ppc mpc8xx spc1920 stxxtc_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx stxxtc # EMK MPC8xx based modules TOP860_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx top860 emk # Play some tricks for configuration selection # Only 855 and 860 boards may come with FEC # and only 823 boards may have LCD support xtract_8xx = $(subst _LCD,,$(subst _config,,$1)) uc100_config : unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx uc100 ######################################################################### ## PPC4xx Systems ######################################################################### xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1)))))) alpr_config: unconfig @./mkconfig $(@:_config=) ppc ppc4xx alpr prodrive csb272_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb272 csb472_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb472 KAREF_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx karef sandburst METROBOX_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx metrobox sandburst MIP405_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx mip405 mpl MIP405T_config: unconfig @mkdir -p $(obj)include @echo "#define CONFIG_MIP405T" >$(obj)include/config.h @echo "Enable subset config for MIP405T" @$(MKCONFIG) -a MIP405 ppc ppc4xx mip405 mpl ml300_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx p3p440_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx p3p440 prodrive PIP405_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx pip405 mpl PMC405_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405 esd rainier_config: unconfig @mkdir -p $(obj)include @echo "#define CONFIG_RAINIER" > $(obj)include/config.h @echo "Configuring for rainier board as subset of sequoia..." @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc rainier_nand_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)nand_spl @mkdir -p $(obj)board/amcc/sequoia @echo "#define CONFIG_RAINIER" > $(obj)include/config.h @echo "Configuring for rainier board as subset of sequoia..." @echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h @echo "Compile NAND boot image for sequoia" @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk sequoia_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc sequoia_nand_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)nand_spl @mkdir -p $(obj)board/amcc/sequoia @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h @echo "Compile NAND boot image for sequoia" @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk yosemite_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx yosemite amcc yellowstone_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx yellowstone amcc ######################################################################### ## MPC8220 Systems ######################################################################### sorcery_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8220 sorcery ######################################################################### ## MPC824x Systems ######################################################################### xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))) eXalion_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc824x eXalion kvme080_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc824x kvme080 etin PN62_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc824x pn62 ######################################################################### ## MPC8260 Systems ######################################################################### ep8248_config \ ep8248E_config : unconfig @$(MKCONFIG) ep8248 ppc mpc8260 ep8248 ep82xxm_config: unconfig @./mkconfig $(@:_config=) ppc mpc8260 ep82xxm ISPAN_config \ ISPAN_REVB_config: unconfig @mkdir -p $(obj)include @if [ "$(findstring _REVB_,$@)" ] ; then \ echo "#define CFG_REV_B" > $(obj)include/config.h ; \ fi @$(MKCONFIG) -a ISPAN ppc mpc8260 ispan Rattler8248_config \ Rattler_config: unconfig @mkdir -p $(obj)include $(if $(findstring 8248,$@), \ @echo "#define CONFIG_MPC8248" > $(obj)include/config.h) @$(MKCONFIG) -a Rattler ppc mpc8260 rattler TQM8272_config: unconfig @$(MKCONFIG) -a TQM8272 ppc mpc8260 tqm8272 ZPC1900_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8260 zpc1900 ######################################################################### ## Coldfire ######################################################################### M5271EVB_config : unconfig @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5271evb r5200_config : unconfig @$(MKCONFIG) $(@:_config=) m68k mcf52x2 r5200 ######################################################################### ## MPC83xx Systems ######################################################################### TQM834x_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x MPC8349EMDS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349emds MPC8360EMDS_config \ MPC8360EMDS_HOST_33_config \ MPC8360EMDS_HOST_66_config \ MPC8360EMDS_SLAVE_config: unconfig @echo "" >include/config.h ; \ if [ "$(findstring _HOST_,$@)" ] ; then \ echo -n "... PCI HOST " ; \ echo "#define CONFIG_PCI" >>include/config.h ; \ fi ; \ if [ "$(findstring _SLAVE_,$@)" ] ; then \ echo "...PCI SLAVE 66M" ; \ echo "#define CONFIG_PCI" >>include/config.h ; \ echo "#define CONFIG_PCISLAVE" >>include/config.h ; \ fi ; \ if [ "$(findstring _33_,$@)" ] ; then \ echo -n "...33M ..." ; \ echo "#define PCI_33M" >>include/config.h ; \ fi ; \ if [ "$(findstring _66_,$@)" ] ; then \ echo -n "...66M..." ; \ echo "#define PCI_66M" >>include/config.h ; \ fi ; @$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds MPC8349ITX_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349itx ######################################################################### ## MPC85xx Systems ######################################################################### MPC8540ADS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8540ads MPC8560ADS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8560ads MPC8541CDS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8541cds cds MPC8548CDS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8548cds cds MPC8555CDS_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8555cds cds PM854_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854 PM856_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm856 sbc8540_config \ sbc8540_33_config \ sbc8540_66_config: unconfig @mkdir -p $(obj)include @if [ "$(findstring _66_,$@)" ] ; then \ echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ echo "... 66 MHz PCI" ; \ else \ >$(obj)include/config.h ; \ echo "... 33 MHz PCI" ; \ fi @$(MKCONFIG) -a SBC8540 ppc mpc85xx sbc8560 sbc8560_config \ sbc8560_33_config \ sbc8560_66_config: unconfig @mkdir -p $(obj)include @if [ "$(findstring _66_,$@)" ] ; then \ echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ echo "... 66 MHz PCI" ; \ else \ >$(obj)include/config.h ; \ echo "... 33 MHz PCI" ; \ fi @$(MKCONFIG) -a sbc8560 ppc mpc85xx sbc8560 TQM8540_config \ TQM8541_config \ TQM8555_config \ TQM8560_config: unconfig @mkdir -p $(obj)include @CTYPE=$(subst TQM,,$(@:_config=)); \ >$(obj)include/config.h ; \ echo "... TQM"$${CTYPE}; \ echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \ echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \ echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \ echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h; \ echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>$(obj)include/config.h @$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx ######################################################################### ## MPC86xx Systems ######################################################################### MPC8641HPCN_config: unconfig @./mkconfig $(@:_config=) ppc mpc86xx mpc8641hpcn ######################################################################### ## 74xx/7xx Systems ######################################################################### CPCI750_config: unconfig @$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd DB64360_config: unconfig @$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell DB64460_config: unconfig @$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell p3m750_config \ p3m7448_config: unconfig @mkdir -p $(obj)include @if [ "$(findstring 750_,$@)" ] ; then \ echo "#define CONFIG_P3M750" >>$(obj)include/config.h ; \ else \ echo "#define CONFIG_P3M7448" >>$(obj)include/config.h ; \ fi @$(MKCONFIG) -a p3mx ppc 74xx_7xx p3mx prodrive #======================================================================== # ARM #======================================================================== ######################################################################### ## StrongARM Systems ######################################################################### assabet_config : unconfig @$(MKCONFIG) $(@:_config=) arm sa1100 assabet ######################################################################### ## ARM92xT Systems ######################################################################### xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1)))) csb637_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t csb637 NULL at91rm9200 ######################################################################## ## ARM Integrator boards - see doc/README-integrator for more info. integratorap_config \ ap_config \ ap966_config \ ap922_config \ ap922_XA10_config \ ap7_config \ ap720t_config \ ap920t_config \ ap926ejs_config \ ap946es_config: unconfig @board/integratorap/split_by_variant.sh $@ integratorcp_config \ cp_config \ cp920t_config \ cp926ejs_config \ cp946es_config \ cp1136_config \ cp966_config \ cp922_config \ cp922_XA10_config \ cp1026_config: unconfig @board/integratorcp/split_by_variant.sh $@ kb9202_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t kb9202 NULL at91rm9200 mx1ads_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t mx1ads NULL imx omap1510inn_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn omap5912osk_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm926ejs omap5912osk NULL omap SX1_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm925t sx1 #======================================================================== # ARM supplied Versatile development boards #======================================================================== versatile_config \ versatileab_config \ versatilepb_config : unconfig @board/versatile/split_by_variant.sh $@ voiceblue_smallflash_config \ voiceblue_config: unconfig @mkdir -p $(obj)include @mkdir -p $(obj)board/voiceblue @if [ "$(findstring _smallflash_,$@)" ] ; then \ echo "... boot from lower flash bank" ; \ echo "#define VOICEBLUE_SMALL_FLASH" >>$(obj)include/config.h ; \ echo "VOICEBLUE_SMALL_FLASH=y" >$(obj)board/voiceblue/config.tmp ; \ else \ echo "... boot from upper flash bank" ; \ >$(obj)include/config.h ; \ echo "VOICEBLUE_SMALL_FLASH=n" >$(obj)board/voiceblue/config.tmp ; \ fi @$(MKCONFIG) -a voiceblue arm arm925t voiceblue ######################################################################### ## S3C44B0 Systems ######################################################################### ######################################################################### ## ARM720T Systems ######################################################################### ######################################################################### ## XScale Systems ######################################################################### adsvix_config : unconfig @$(MKCONFIG) $(@:_config=) arm pxa adsvix delta_config : @$(MKCONFIG) $(@:_config=) arm pxa delta pxa255_idp_config: unconfig @$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp ######################################################################### ## ARM1136 Systems ######################################################################### #======================================================================== # i386 #======================================================================== ######################################################################### ## AMD SC520 CDP ######################################################################### #======================================================================== # MIPS #======================================================================== ######################################################################### ## MIPS32 4Kc ######################################################################### ######################################################################### ## MIPS32 AU1X00 ######################################################################### ######################################################################### ## MIPS64 5Kc ######################################################################### #======================================================================== # Nios #======================================================================== ######################################################################### ## Nios32 ######################################################################### ######################################################################### ## Nios-II ######################################################################### EP1C20_config : unconfig @$(MKCONFIG) EP1C20 nios2 nios2 ep1c20 altera EP1S10_config : unconfig @$(MKCONFIG) EP1S10 nios2 nios2 ep1s10 altera EP1S40_config : unconfig @$(MKCONFIG) EP1S40 nios2 nios2 ep1s40 altera PK1C20_config : unconfig @$(MKCONFIG) PK1C20 nios2 nios2 pk1c20 psyent PCI5441_config : unconfig @$(MKCONFIG) PCI5441 nios2 nios2 pci5441 psyent #======================================================================== # MicroBlaze #======================================================================== ######################################################################### ## Microblaze ######################################################################### ######################################################################### ## Blackfin ######################################################################### stamp_config : unconfig @$(MKCONFIG) $(@:_config=) blackfin bf533 stamp dspstamp_config : unconfig @$(MKCONFIG) $(@:_config=) blackfin bf533 dsp_stamp #======================================================================== # AVR32 #======================================================================== ######################################################################### ## AT32AP7xxx ######################################################################### ######################################################################### ######################################################################### ######################################################################### clean: find $(OBJTREE) -type f \ \( -name 'core' -o -name '*.bak' -o -name '*~' \ -o -name '*.o' -o -name '*.a' \) -print \ | xargs rm -f rm -f $(obj)examples/hello_world $(obj)examples/timer \ $(obj)examples/eepro100_eeprom $(obj)examples/sched \ $(obj)examples/mem_to_mem_idma2intr $(obj)examples/82559_eeprom \ $(obj)examples/smc91111_eeprom $(obj)examples/interrupt \ $(obj)examples/test_burst rm -f $(obj)tools/img2srec $(obj)tools/mkimage $(obj)tools/envcrc \ $(obj)tools/gen_eth_addr rm -f $(obj)tools/mpc86x_clk $(obj)tools/ncb rm -f $(obj)tools/easylogo/easylogo $(obj)tools/bmp_logo rm -f $(obj)tools/gdb/astest $(obj)tools/gdb/gdbcont $(obj)tools/gdb/gdbsend rm -f $(obj)tools/env/fw_printenv $(obj)tools/env/fw_setenv rm -f $(obj)board/voiceblue/eeprom rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds rm -f $(obj)include/bmp_logo.h rm -f $(obj)nand_spl/u-boot-spl $(obj)nand_spl/u-boot-spl.map clobber: clean find $(OBJTREE) -type f \( -name .depend \ -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ -print0 \ | xargs -0 rm -f rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS $(obj)include/version_autogenerated.h rm -fr $(obj)*.*~ rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL) rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm [ ! -d $(OBJTREE)/nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f ifeq ($(OBJTREE),$(SRCTREE)) mrproper \ distclean: clobber unconfig else mrproper \ distclean: clobber unconfig rm -rf $(OBJTREE)/* endif backup: F=`basename $(TOPDIR)` ; cd .. ; \ gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F #########################################################################