X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=0685ef9955c2115babdee36cd9c879f5ff7cbbc2;hb=f12af1f38dc59a6dfe0fed1359e1a05e700a435b;hp=d18a973a244f1cc86b4236b58ecaa15253946608;hpb=f905432c04c54ef169b4ffe6dd310ddf72a67c86;p=u-boot diff --git a/Makefile b/Makefile index d18a973a24..0685ef9955 100644 --- a/Makefile +++ b/Makefile @@ -22,9 +22,9 @@ # VERSION = 2010 -PATCHLEVEL = 09 +PATCHLEVEL = 12 SUBLEVEL = -EXTRAVERSION = +EXTRAVERSION = -rc2 ifneq "$(SUBLEVEL)" "" U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) else @@ -180,96 +180,96 @@ endif OBJS := $(addprefix $(obj),$(OBJS)) -LIBS = lib/libgeneric.a -LIBS += lib/lzma/liblzma.a -LIBS += lib/lzo/liblzo.a +LIBS = lib/libgeneric.o +LIBS += lib/lzma/liblzma.o +LIBS += lib/lzo/liblzo.o LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \ - "board/$(VENDOR)/common/lib$(VENDOR).a"; fi) -LIBS += $(CPUDIR)/lib$(CPU).a + "board/$(VENDOR)/common/lib$(VENDOR).o"; fi) +LIBS += $(CPUDIR)/lib$(CPU).o ifdef SOC -LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).a +LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).o endif ifeq ($(CPU),ixp) -LIBS += arch/arm/cpu/ixp/npe/libnpe.a +LIBS += arch/arm/cpu/ixp/npe/libnpe.o endif -LIBS += arch/$(ARCH)/lib/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 fs/yaffs2/libyaffs2.a \ - fs/ubifs/libubifs.a -LIBS += net/libnet.a -LIBS += disk/libdisk.a -LIBS += drivers/bios_emulator/libatibiosemu.a -LIBS += drivers/block/libblock.a -LIBS += drivers/dma/libdma.a -LIBS += drivers/fpga/libfpga.a -LIBS += drivers/gpio/libgpio.a -LIBS += drivers/hwmon/libhwmon.a -LIBS += drivers/i2c/libi2c.a -LIBS += drivers/input/libinput.a -LIBS += drivers/misc/libmisc.a -LIBS += drivers/mmc/libmmc.a -LIBS += drivers/mtd/libmtd.a -LIBS += drivers/mtd/nand/libnand.a -LIBS += drivers/mtd/onenand/libonenand.a -LIBS += drivers/mtd/ubi/libubi.a -LIBS += drivers/mtd/spi/libspi_flash.a -LIBS += drivers/net/libnet.a -LIBS += drivers/net/phy/libphy.a -LIBS += drivers/pci/libpci.a -LIBS += drivers/pcmcia/libpcmcia.a -LIBS += drivers/power/libpower.a -LIBS += drivers/spi/libspi.a +LIBS += arch/$(ARCH)/lib/lib$(ARCH).o +LIBS += fs/cramfs/libcramfs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o \ + fs/reiserfs/libreiserfs.o fs/ext2/libext2fs.o fs/yaffs2/libyaffs2.o \ + fs/ubifs/libubifs.o +LIBS += net/libnet.o +LIBS += disk/libdisk.o +LIBS += drivers/bios_emulator/libatibiosemu.o +LIBS += drivers/block/libblock.o +LIBS += drivers/dma/libdma.o +LIBS += drivers/fpga/libfpga.o +LIBS += drivers/gpio/libgpio.o +LIBS += drivers/hwmon/libhwmon.o +LIBS += drivers/i2c/libi2c.o +LIBS += drivers/input/libinput.o +LIBS += drivers/misc/libmisc.o +LIBS += drivers/mmc/libmmc.o +LIBS += drivers/mtd/libmtd.o +LIBS += drivers/mtd/nand/libnand.o +LIBS += drivers/mtd/onenand/libonenand.o +LIBS += drivers/mtd/ubi/libubi.o +LIBS += drivers/mtd/spi/libspi_flash.o +LIBS += drivers/net/libnet.o +LIBS += drivers/net/phy/libphy.o +LIBS += drivers/pci/libpci.o +LIBS += drivers/pcmcia/libpcmcia.o +LIBS += drivers/power/libpower.o +LIBS += drivers/spi/libspi.o ifeq ($(CPU),mpc83xx) -LIBS += drivers/qe/qe.a -LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a +LIBS += drivers/qe/libqe.o +LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o endif ifeq ($(CPU),mpc85xx) -LIBS += drivers/qe/qe.a -LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a -LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a +LIBS += drivers/qe/libqe.o +LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.o +LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o endif ifeq ($(CPU),mpc86xx) -LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.a -LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.a +LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.o +LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o endif -LIBS += drivers/rtc/librtc.a -LIBS += drivers/serial/libserial.a -LIBS += drivers/twserial/libtws.a -LIBS += drivers/usb/gadget/libusb_gadget.a -LIBS += drivers/usb/host/libusb_host.a -LIBS += drivers/usb/musb/libusb_musb.a -LIBS += drivers/usb/phy/libusb_phy.a -LIBS += drivers/video/libvideo.a -LIBS += drivers/watchdog/libwatchdog.a -LIBS += common/libcommon.a -LIBS += lib/libfdt/libfdt.a -LIBS += api/libapi.a -LIBS += post/libpost.a +LIBS += drivers/rtc/librtc.o +LIBS += drivers/serial/libserial.o +LIBS += drivers/twserial/libtws.o +LIBS += drivers/usb/gadget/libusb_gadget.o +LIBS += drivers/usb/host/libusb_host.o +LIBS += drivers/usb/musb/libusb_musb.o +LIBS += drivers/usb/phy/libusb_phy.o +LIBS += drivers/video/libvideo.o +LIBS += drivers/watchdog/libwatchdog.o +LIBS += common/libcommon.o +LIBS += lib/libfdt/libfdt.o +LIBS += api/libapi.o +LIBS += post/libpost.o ifeq ($(SOC),omap3) -LIBS += $(CPUDIR)/omap-common/libomap-common.a +LIBS += $(CPUDIR)/omap-common/libomap-common.o endif ifeq ($(SOC),omap4) -LIBS += $(CPUDIR)/omap-common/libomap-common.a +LIBS += $(CPUDIR)/omap-common/libomap-common.o endif ifeq ($(SOC),s5pc1xx) -LIBS += $(CPUDIR)/s5p-common/libs5p-common.a +LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif ifeq ($(SOC),s5pc2xx) -LIBS += $(CPUDIR)/s5p-common/libs5p-common.a +LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif -LIBS := $(addprefix $(obj),$(LIBS)) +LIBS := $(addprefix $(obj),$(sort $(LIBS))) .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) -LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a +LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o LIBBOARD := $(addprefix $(obj),$(LIBBOARD)) # Add GCC lib ifdef USE_PRIVATE_LIBGCC ifeq ("$(USE_PRIVATE_LIBGCC)", "yes") -PLATFORM_LIBGCC = -L $(OBJTREE)/arch/$(ARCH)/lib -lgcc +PLATFORM_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/libgcc.o else PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc endif @@ -304,6 +304,21 @@ __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD)) ######################################################################### ######################################################################### +ifneq ($(CONFIG_BOARD_SIZE_LIMIT),) +BOARD_SIZE_CHECK = \ + @actual=`wc -c $@ | awk '{print $$1}'`; \ + limit=$(CONFIG_BOARD_SIZE_LIMIT); \ + if test $$actual -gt $$limit; then \ + echo "$@ exceeds file size limit:"; \ + echo " limit: $$limit bytes"; \ + echo " actual: $$actual bytes"; \ + echo " excess: $$((actual - limit)) bytes"; \ + exit 1; \ + fi +else +BOARD_SIZE_CHECK = +endif + # Always append ALL so that arch config.mk's can add custom ones ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND) @@ -317,10 +332,12 @@ $(obj)u-boot.srec: $(obj)u-boot $(obj)u-boot.bin: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ + $(BOARD_SIZE_CHECK) $(obj)u-boot.ldr: $(obj)u-boot $(CREATE_LDR_ENV) $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS) + $(BOARD_SIZE_CHECK) $(obj)u-boot.ldr.hex: $(obj)u-boot.ldr $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary @@ -340,8 +357,8 @@ $(obj)u-boot.imx: $(obj)u-boot.bin -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ $(obj)u-boot.kwb: $(obj)u-boot.bin - $(obj)tools/mkimage -n $(KWD_CONFIG) -T kwbimage \ - -a $(CONFIG_SYS_TEXT_BASE) -e $(TEXT_BASE) -d $< $@ + $(obj)tools/mkimage -n $(CONFIG_SYS_KWD_CONFIG) -T kwbimage \ + -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ $(obj)u-boot.sha1: $(obj)u-boot.bin $(obj)tools/ubsha1 $(obj)u-boot.bin @@ -355,7 +372,8 @@ GEN_UBOOT = \ cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot -$(obj)u-boot: depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds +$(obj)u-boot: depend \ + $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds $(GEN_UBOOT) ifeq ($(CONFIG_KALLSYMS),y) smap=`$(call SYSTEM_MAP,u-boot) | \ @@ -383,7 +401,7 @@ $(LDSCRIPT): depend $(obj)u-boot.lds: $(LDSCRIPT) $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ -$(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk +$(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin @@ -409,7 +427,9 @@ updater: # Explicitly make _depend in subdirs containing multiple targets to prevent # parallel sub-makes creating .depend files simultaneously. -depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk +depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) \ + $(obj)include/autoconf.mk \ + $(obj)include/generated/generic-asm-offsets.h for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \ $(MAKE) -C $$dir _depend ; done @@ -456,6 +476,18 @@ $(obj)include/autoconf.mk: $(obj)include/config.h sed -n -f tools/scripts/define2mk.sed > $@.tmp && \ mv $@.tmp $@ +$(obj)include/generated/generic-asm-offsets.h: $(obj)include/autoconf.mk.dep \ + $(obj)lib/asm-offsets.s + @$(XECHO) Generating $@ + tools/scripts/make-asm-offsets $(obj)lib/asm-offsets.s $@ + +$(obj)lib/asm-offsets.s: $(obj)include/autoconf.mk.dep \ + $(src)lib/asm-offsets.c + @mkdir -p $(obj)lib + $(CC) -DDO_DEPS_ONLY \ + $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \ + -o $@ $(src)lib/asm-offsets.c -c -S + ######################################################################### else # !config.mk all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ @@ -1010,28 +1042,6 @@ scpu_config: unconfig fi @$(MKCONFIG) -n $@ -a pdnb3 arm ixp pdnb3 prodrive -polaris_config \ -trizepsiv_config : unconfig - @mkdir -p $(obj)include - @if [ "$(findstring polaris,$@)" ] ; then \ - echo "#define CONFIG_POLARIS 1" >>$(obj)include/config.h ; \ - fi; - @$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv - -vpac270_nor_256M_config \ -vpac270_nor_128M_config \ -vpac270_onenand_config : unconfig - @mkdir -p $(obj)include - @if [ "$(findstring onenand,$@)" ] ; then \ - echo "#define CONFIG_ONENAND_U_BOOT" \ - >>$(obj)include/config.h ; \ - fi; - @if [ "$(findstring 256M,$@)" ] ; then \ - echo "#define CONFIG_256M_U_BOOT" \ - >>$(obj)include/config.h ; \ - fi; - @$(MKCONFIG) -n $@ -a vpac270 arm pxa vpac270 - ######################################################################### ## ARM1136 Systems ######################################################################### @@ -1057,7 +1067,6 @@ mx31pdk_nand_config : unconfig echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h; \ else \ echo "#define CONFIG_SKIP_LOWLEVEL_INIT" >> $(obj)include/config.h; \ - echo "#define CONFIG_SKIP_RELOCATE_UBOOT" >> $(obj)include/config.h; \ fi @$(MKCONFIG) -n $@ -a mx31pdk arm arm1136 mx31pdk freescale mx31 @@ -1181,96 +1190,6 @@ NIOS2_GENERIC = nios2-generic $(NIOS2_GENERIC:%=%_config) : unconfig @$(MKCONFIG) $@ nios2 nios2 nios2-generic altera -#======================================================================== -# Blackfin -#======================================================================== - -bf527-ezkit-v2_config : unconfig - @$(MKCONFIG) -t BF527_EZKIT_REV_2_1 \ - bf527-ezkit blackfin blackfin bf527-ezkit - -#======================================================================== -# SH3 (SuperH) -#======================================================================== - -######################################################################### -## sh2 (Renesas SuperH) -######################################################################### -rsk7203_config: unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_RSK7203 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh2 rsk7203 renesas - -######################################################################### -## sh3 (Renesas SuperH) -######################################################################### - -mpr2_config: unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_MPR2 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh3 mpr2 - -ms7720se_config: unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_MS7720SE 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh3 ms7720se - -######################################################################### -## sh4 (Renesas SuperH) -######################################################################### - -MigoR_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_MIGO_R 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 MigoR renesas - -ms7750se_config: unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_MS7750SE 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 ms7750se - -ms7722se_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_MS7722SE 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 ms7722se - -r2dplus_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_R2DPLUS 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 r2dplus renesas - -r7780mp_config: unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_R7780MP 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 r7780mp renesas - -sh7763rdp_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_SH7763RDP 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 sh7763rdp renesas - -sh7785lcr_32bit_config \ -sh7785lcr_config : unconfig - @mkdir -p $(obj)include - @mkdir -p $(obj)board/renesas/sh7785lcr - @echo "#define CONFIG_SH7785LCR 1" > $(obj)include/config.h - @if [ "$(findstring 32bit, $@)" ] ; then \ - echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x8ff80000" > \ - $(obj)board/renesas/sh7785lcr/config.tmp ; \ - fi - @$(MKCONFIG) -n $@ -a sh7785lcr sh sh4 sh7785lcr renesas - -ap325rxa_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_AP325RXA 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 ap325rxa renesas - -espt_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_ESPT 1" > $(obj)include/config.h - @$(MKCONFIG) -a $@ sh sh4 espt - ######################################################################### ######################################################################### @@ -1301,6 +1220,7 @@ clean: $(obj)u-boot.lds \ $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs] @rm -f $(obj)include/bmp_logo.h + @rm -f $(obj)lib/asm-offsets.s @rm -f $(obj)nand_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,System.map} @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl.map} @rm -f $(ONENAND_BIN) @@ -1324,6 +1244,7 @@ clobber: clean @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} @rm -f $(obj)arch/powerpc/cpu/mpc824x/bedbug_603e.c @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm + @rm -fr $(obj)include/generated @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f