X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Makefile;h=684cdb6aafd7770c4f1877dc27bcf8ed1e96184d;hb=ccf7988b9ace671085a7ae6e7317c6a378c4a309;hp=ef8a3f0dc777980ece79acb6aee113339749f7af;hpb=96d94385a78227c71b1ba98c0ec6df55a9cff94f;p=u-boot diff --git a/Makefile b/Makefile index ef8a3f0dc7..684cdb6aaf 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 \ @@ -354,8 +359,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) + +$(obj)u-boot.dtb: $(obj)u-boot + $(MAKE) -C dts binary + mv $(obj)dts/dt.dtb $@ -all: $(ALL-y) +$(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 +431,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 +444,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 +453,8 @@ $(LIBBOARD): depend $(LIBS) $(SUBDIRS): depend $(MAKE) -C $@ all +$(SUBDIR_EXAMPLES): $(obj)u-boot + $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@) @@ -514,7 +529,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 @@ -625,6 +640,8 @@ ucname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\U\1/') 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;; \ @@ -644,6 +661,8 @@ M52277EVB_stmicro_config : unconfig 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;; \ @@ -658,19 +677,19 @@ M5235EVB_Flash32_config: unconfig @$(MKCONFIG) -n $@ -a M5235EVB m68k mcf523x m5235evb freescale 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 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;; \ @@ -694,6 +713,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;; \ @@ -851,6 +872,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 '*~' \ @@ -868,6 +890,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 @@ -875,6 +898,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