X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Makefile;h=9ef33f9fd1368ff4aa3881a281b0cfd2a24762bb;hb=4279c53e5b594ed9b09c752df3cf0b4eacf57788;hp=e9a153cc61ef2f6e3b1fd9fbe220f731338eb52b;hpb=efb2172ece93ef48f34fb8bdf963d3b72880cc7d;p=oweals%2Fu-boot.git diff --git a/Makefile b/Makefile index e9a153cc61..9ef33f9fd1 100644 --- a/Makefile +++ b/Makefile @@ -137,7 +137,14 @@ unexport CDPATH # The "tools" are needed early, so put this first # Don't include stuff already done in $(LIBS) -SUBDIRS = tools +# The "examples" conditionally depend on U-Boot (say, when USE_PRIVATE_LIBGCC +# is "yes"), so compile examples after U-Boot is compiled. +SUBDIR_TOOLS = tools +SUBDIR_EXAMPLES = examples/standalone examples/api +SUBDIRS = $(SUBDIR_TOOLS) +ifndef CONFIG_SANDBOX +SUBDIRS += $(SUBDIR_EXAMPLES) +endif .PHONY : $(SUBDIRS) $(VERSION_FILE) $(TIMESTAMP_FILE) @@ -154,11 +161,6 @@ sinclude $(obj)include/autoconf.mk include $(obj)include/config.mk export ARCH CPU BOARD VENDOR SOC -ifndef CONFIG_SANDBOX -SUBDIRS += examples/standalone \ - examples/api -endif - # set default to nothing for native builds ifeq ($(HOSTARCH),$(ARCH)) CROSS_COMPILE ?= @@ -227,6 +229,9 @@ endif ifeq ($(CPU),ixp) LIBS += arch/arm/cpu/ixp/npe/libnpe.o endif +ifeq ($(CONFIG_OF_EMBED),y) +LIBS += dts/libdts.o +endif 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 \ @@ -284,6 +289,9 @@ LIBS += lib/libfdt/libfdt.o LIBS += api/libapi.o LIBS += post/libpost.o +ifeq ($(SOC),am33xx) +LIBS += $(CPUDIR)/omap-common/libomap-common.o +endif ifeq ($(SOC),omap3) LIBS += $(CPUDIR)/omap-common/libomap-common.o endif @@ -354,8 +362,16 @@ ALL-$(CONFIG_ONENAND_U_BOOT) += $(obj)u-boot-onenand.bin ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin ALL-$(CONFIG_MMC_U_BOOT) += $(obj)mmc_spl/u-boot-mmc-spl.bin ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin +ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin + +all: $(ALL-y) $(SUBDIR_EXAMPLES) -all: $(ALL-y) +$(obj)u-boot.dtb: $(obj)u-boot + $(MAKE) -C dts binary + mv $(obj)dts/dt.dtb $@ + +$(obj)u-boot-dtb.bin: $(obj)u-boot.bin $(obj)u-boot.dtb + cat $^ >$@ $(obj)u-boot.hex: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ @@ -418,7 +434,7 @@ GEN_UBOOT = \ endif $(obj)u-boot: depend \ - $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds + $(SUBDIR_TOOLS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds $(GEN_UBOOT) ifeq ($(CONFIG_KALLSYMS),y) smap=`$(call SYSTEM_MAP,u-boot) | \ @@ -431,7 +447,7 @@ endif $(OBJS): depend $(MAKE) -C $(CPUDIR) $(if $(REMOTE_BUILD),$@,$(notdir $@)) -$(LIBS): depend $(SUBDIRS) +$(LIBS): depend $(SUBDIR_TOOLS) $(MAKE) -C $(dir $(subst $(obj),,$@)) $(LIBBOARD): depend $(LIBS) @@ -440,6 +456,8 @@ $(LIBBOARD): depend $(LIBS) $(SUBDIRS): depend $(MAKE) -C $@ all +$(SUBDIR_EXAMPLES): $(obj)u-boot + $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@) @@ -514,7 +532,7 @@ $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h @$(XECHO) Generating $@ ; \ set -e ; \ : Generate the dependancies ; \ - $(CC) -x c -DDO_DEPS_ONLY -M $(HOSTCFLAGS) $(CPPFLAGS) \ + $(CC) -x c -DDO_DEPS_ONLY -M $(CFLAGS) $(CPPFLAGS) \ -MQ $(obj)include/autoconf.mk include/common.h > $@ $(obj)include/autoconf.mk: $(obj)include/config.h @@ -622,14 +640,11 @@ ucname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\U\1/') ######################################################################### ## Coldfire ######################################################################### - -astro_mcf5373l_config \ -astro_mcf5373l_RAM_config : unconfig - @$(MKCONFIG) -n $@ -t $@ astro_mcf5373l m68k mcf532x mcf5373l astro - M52277EVB_config \ M52277EVB_spansion_config \ M52277EVB_stmicro_config : unconfig + @mkdir -p $(obj)include + @mkdir -p $(obj)board/freescale/m52277evb @case "$@" in \ M52277EVB_config) FLASH=SPANSION;; \ M52277EVB_spansion_config) FLASH=SPANSION;; \ @@ -638,19 +653,19 @@ M52277EVB_stmicro_config : unconfig if [ "$${FLASH}" = "SPANSION" ] ; then \ echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m52277evb/config.tmp ; \ - cp $(obj)board/freescale/m52277evb/u-boot.spa $(obj)board/freescale/m52277evb/u-boot.lds ; \ fi; \ if [ "$${FLASH}" = "STMICRO" ] ; then \ echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x43E00000" > $(obj)board/freescale/m52277evb/config.tmp ; \ - cp $(obj)board/freescale/m52277evb/u-boot.stm $(obj)board/freescale/m52277evb/u-boot.lds ; \ fi @$(MKCONFIG) -n $@ -a M52277EVB m68k mcf5227x m52277evb freescale M5235EVB_config \ M5235EVB_Flash16_config \ M5235EVB_Flash32_config: unconfig + @mkdir -p $(obj)include + @mkdir -p $(obj)board/freescale/m5235evb @case "$@" in \ M5235EVB_config) FLASH=16;; \ M5235EVB_Flash16_config) FLASH=16;; \ @@ -659,63 +674,36 @@ M5235EVB_Flash32_config: unconfig if [ "$${FLASH}" != "16" ] ; then \ echo "#define NORFLASH_PS32BIT 1" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0xFFC00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ - cp $(obj)board/freescale/m5235evb/u-boot.32 $(obj)board/freescale/m5235evb/u-boot.lds ; \ else \ echo "CONFIG_SYS_TEXT_BASE = 0xFFE00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ - cp $(obj)board/freescale/m5235evb/u-boot.16 $(obj)board/freescale/m5235evb/u-boot.lds ; \ fi @$(MKCONFIG) -n $@ -a M5235EVB m68k mcf523x m5235evb freescale -cobra5272_config : unconfig - @$(MKCONFIG) $@ m68k mcf52x2 cobra5272 - EB+MCF-EV123_config : unconfig - @mkdir -p $(obj)include @mkdir -p $(obj)board/BuS/EB+MCF-EV123 @echo "CONFIG_SYS_TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk @$(MKCONFIG) -n $@ EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS EB+MCF-EV123_internal_config : unconfig - @mkdir -p $(obj)include @mkdir -p $(obj)board/BuS/EB+MCF-EV123 @echo "CONFIG_SYS_TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk @$(MKCONFIG) -n $@ EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS -M5329AFEE_config \ -M5329BFEE_config : unconfig - @case "$@" in \ - M5329AFEE_config) NAND=0;; \ - M5329BFEE_config) NAND=16;; \ - esac; \ - if [ "$${NAND}" != "0" ] ; then \ - echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ - fi - @$(MKCONFIG) -n $@ -a M5329EVB m68k mcf532x m5329evb freescale - -M5373EVB_config : unconfig - @case "$@" in \ - M5373EVB_config) NAND=16;; \ - esac; \ - if [ "$${NAND}" != "0" ] ; then \ - echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ - fi - @$(MKCONFIG) -a M5373EVB m68k mcf532x m5373evb freescale - M54451EVB_config \ M54451EVB_stmicro_config : unconfig + @mkdir -p $(obj)include + @mkdir -p $(obj)board/freescale/m54451evb @case "$@" in \ M54451EVB_config) FLASH=NOR;; \ M54451EVB_stmicro_config) FLASH=STMICRO;; \ esac; \ if [ "$${FLASH}" = "NOR" ] ; then \ echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54451evb/config.tmp ; \ - cp $(obj)board/freescale/m54451evb/u-boot.spa $(obj)board/freescale/m54451evb/u-boot.lds ; \ fi; \ if [ "$${FLASH}" = "STMICRO" ] ; then \ echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x47E00000" > $(obj)board/freescale/m54451evb/config.tmp ; \ - cp $(obj)board/freescale/m54451evb/u-boot.stm $(obj)board/freescale/m54451evb/u-boot.lds ; \ fi; \ echo "#define CONFIG_SYS_INPUT_CLKSRC 24000000" >> $(obj)include/config.h ; @$(MKCONFIG) -n $@ -a M54451EVB m68k mcf5445x m54451evb freescale @@ -728,6 +716,8 @@ M54455EVB_a66_config \ M54455EVB_i33_config \ M54455EVB_i66_config \ M54455EVB_stm33_config : unconfig + @mkdir -p $(obj)include + @mkdir -p $(obj)board/freescale/m54455evb @case "$@" in \ M54455EVB_config) FLASH=ATMEL; FREQ=33333333;; \ M54455EVB_atmel_config) FLASH=ATMEL; FREQ=33333333;; \ @@ -741,91 +731,20 @@ M54455EVB_stm33_config : unconfig if [ "$${FLASH}" = "INTEL" ] ; then \ echo "#define CONFIG_SYS_INTEL_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \ fi; \ if [ "$${FLASH}" = "ATMEL" ] ; then \ echo "#define CONFIG_SYS_ATMEL_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \ fi; \ if [ "$${FLASH}" = "STMICRO" ] ; then \ echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ echo "CONFIG_SYS_TEXT_BASE = 0x4FE00000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - cp $(obj)board/freescale/m54455evb/u-boot.stm $(obj)board/freescale/m54455evb/u-boot.lds ; \ fi; \ echo "#define CONFIG_SYS_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \ $(XECHO) "... with $${FREQ}Hz input clock" @$(MKCONFIG) -n $@ -a M54455EVB m68k mcf5445x m54455evb freescale -M5475AFE_config \ -M5475BFE_config \ -M5475CFE_config \ -M5475DFE_config \ -M5475EFE_config \ -M5475FFE_config \ -M5475GFE_config : unconfig - @case "$@" in \ - M5475AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5475BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5475CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ - M5475DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ - M5475EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ - M5475FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ - M5475GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ - esac; \ - echo "#define CONFIG_SYS_BUSCLK 133333333" > $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ - if [ "$${RAM1}" != "0" ] ; then \ - echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${CODE}" != "0" ] ; then \ - echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${VID}" == "1" ] ; then \ - echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${USB}" == "1" ] ; then \ - echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ - fi - @$(MKCONFIG) -n $@ -a M5475EVB m68k mcf547x_8x m547xevb freescale - -M5485AFE_config \ -M5485BFE_config \ -M5485CFE_config \ -M5485DFE_config \ -M5485EFE_config \ -M5485FFE_config \ -M5485GFE_config \ -M5485HFE_config : unconfig - @case "$@" in \ - M5485AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5485BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5485CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ - M5485DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ - M5485EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ - M5485FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ - M5485GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5485HFE_config) BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \ - esac; \ - echo "#define CONFIG_SYS_BUSCLK 100000000" > $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ - if [ "$${RAM1}" != "0" ] ; then \ - echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${CODE}" != "0" ] ; then \ - echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${VID}" == "1" ] ; then \ - echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ - fi; \ - if [ "$${USB}" == "1" ] ; then \ - echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ - fi - @$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale - #======================================================================== # ARM #======================================================================== @@ -956,6 +875,7 @@ clean: @rm -f $(ONENAND_BIN) @rm -f $(obj)onenand_ipl/u-boot.lds @rm -f $(obj)spl/{u-boot-spl,u-boot-spl.bin,u-boot-spl.lds,u-boot-spl.map} + @rm -f $(obj)MLO @rm -f $(TIMESTAMP_FILE) $(VERSION_FILE) @find $(OBJTREE) -type f \ \( -name 'core' -o -name '*.bak' -o -name '*~' \ @@ -973,6 +893,7 @@ clobber: clean @rm -f $(obj)u-boot.kwb @rm -f $(obj)u-boot.imx @rm -f $(obj)u-boot.ubl + @rm -f $(obj)u-boot.dtb @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} @rm -f $(obj)arch/powerpc/cpu/mpc824x/bedbug_603e.c @rm -fr $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm @@ -980,6 +901,7 @@ clobber: clean @[ ! -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 @[ ! -d $(obj)mmc_spl ] || find $(obj)mmc_spl -name "*" -type l -print | xargs rm -f + @rm -f $(obj)dts/*.tmp mrproper \ distclean: clobber unconfig