X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=Makefile;h=27d425e346cc716ddc579b3742d78a4e1724acc7;hb=8c0a96e1d6109b8b6fe5708912469eac880cb129;hp=e5b07d802a4411a9968a08d9406622adec8e049e;hpb=7fcdac0ee96fb19013056e7a083e46f74c8dad66;p=karo-tx-uboot.git diff --git a/Makefile b/Makefile index e5b07d802a..27d425e346 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # VERSION = 2016 -PATCHLEVEL = 07 +PATCHLEVEL = 09 SUBLEVEL = EXTRAVERSION = NAME = @@ -256,7 +256,8 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ HOSTCC = cc HOSTCXX = c++ -HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \ + $(if $(CONFIG_TOOLS_DEBUG),-g) HOSTCXXFLAGS = -O2 ifeq ($(HOSTOS),cygwin) @@ -424,7 +425,7 @@ timestamp_h := include/generated/timestamp_autogenerated.h no-dot-config-targets := clean clobber mrproper distclean \ help %docs check% coccicheck \ - ubootversion backup + ubootversion backup tests config-targets := 0 mixed-targets := 0 @@ -556,6 +557,14 @@ else include/config/auto.conf: ; endif # $(dot-config) +# +# Xtensa linker script cannot be preprocessed with -ansi because of +# preprocessor operations on strings that don't make C identifiers. +# +ifeq ($(CONFIG_XTENSA),) +LDPPFLAGS += -ansi +endif + ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os else @@ -637,6 +646,7 @@ libs-y += drivers/net/ libs-y += drivers/net/phy/ libs-y += drivers/pci/ libs-y += drivers/power/ \ + drivers/power/domain/ \ drivers/power/fuel_gauge/ \ drivers/power/mfd/ \ drivers/power/pmic/ \ @@ -645,6 +655,7 @@ libs-y += drivers/power/ \ libs-y += drivers/spi/ libs-$(CONFIG_FMAN_ENET) += drivers/net/fm/ libs-$(CONFIG_SYS_FSL_DDR) += drivers/ddr/fsl/ +libs-$(CONFIG_SYS_FSL_MMDC) += drivers/ddr/fsl/ libs-$(CONFIG_ALTERA_SDRAM) += drivers/ddr/altera/ libs-y += drivers/serial/ libs-y += drivers/usb/dwc3/ @@ -665,6 +676,7 @@ libs-$(CONFIG_HAS_POST) += post/ libs-y += test/ libs-y += test/dm/ libs-$(CONFIG_UT_ENV) += test/env/ +libs-$(CONFIG_UT_OVERLAY) += test/overlay/ libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/) @@ -729,7 +741,8 @@ DO_STATIC_RELA = endif # Always append ALL so that arch config.mk's can add custom ones -ALL-y += u-boot.srec u-boot.bin u-boot.sym System.map u-boot.cfg binary_size_check +ALL-y += u-boot.srec u-boot.bin u-boot.sym System.map u-boot.cfg \ + binary_size_check no_new_adhoc_configs_check ALL-$(CONFIG_ONENAND_U_BOOT) += u-boot-onenand.bin ifeq ($(CONFIG_SPL_FSL_PBL),y) @@ -924,8 +937,26 @@ u-boot.sha1: u-boot.bin u-boot.dis: u-boot $(OBJDUMP) -d $< > $@ +# If .u-boot.cfg.d is still present, then either: +# a) The previous build used a Makefile that used if_changed rather than +# if_changed_dep when building u-boot.cfg, and hence any later builds will +# be unaware of the dependencies for u-boot.cfg. In this case, we must +# delete u-boot.cfg to force it and .u-boot.cfg.cmd to be rebuilt the +# correct way. +# b) The previous build failed or was interrupted while building u-boot.cfg, +# so deleting u-boot.cfg isn't going to cause any additional work. +ifneq ($(wildcard $(obj)/.u-boot.cfg.d),) + unused := $(shell rm -f $(obj)/u-boot.cfg) +endif u-boot.cfg: include/config.h FORCE - $(call if_changed,cpp_cfg) + $(call if_changed_dep,cpp_cfg) + +# Check that this build does not use CONFIG options that we don't know about +# unless they are in Kconfig. All the existing CONFIG options are whitelisted, +# so new ones should not be added. +no_new_adhoc_configs_check: u-boot.cfg FORCE + $(srctree)/scripts/check-config.sh $< \ + $(srctree)/scripts/config_whitelist.txt ${srctree} 1>&2 ifdef CONFIG_TPL SPL_PAYLOAD := tpl/u-boot-with-tpl.bin @@ -1310,7 +1341,7 @@ $(timestamp_h): $(srctree)/Makefile FORCE # --------------------------------------------------------------------------- quiet_cmd_cpp_lds = LDS $@ -cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \ +cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) \ -D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $< u-boot.lds: $(LDSCRIPT) prepare FORCE @@ -1318,7 +1349,8 @@ u-boot.lds: $(LDSCRIPT) prepare FORCE spl/u-boot-spl.bin: spl/u-boot-spl @: -spl/u-boot-spl: tools prepare $(if $(CONFIG_OF_SEPARATE),dts/dt.dtb) +spl/u-boot-spl: tools prepare \ + $(if $(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb) $(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all spl/sunxi-spl.bin: spl/u-boot-spl @@ -1415,7 +1447,7 @@ CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h include/license.h \ MRPROPER_DIRS += include/config include/generated spl tpl \ .tmp_objdiff MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \ - ctags etags TAGS cscope* GPATH GTAGS GRTAGS GSYMS + ctags etags tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS # clean - Delete most, but leave enough to build external modules # @@ -1486,6 +1518,7 @@ help: @echo '' @echo 'Other generic targets:' @echo ' all - Build all necessary images depending on configuration' + @echo ' tests - Build U-Boot for sandbox and run tests' @echo '* u-boot - Build the bare u-boot' @echo ' dir/ - Build all files in dir and below' @echo ' dir/file.[oisS] - Build specified target only' @@ -1518,6 +1551,8 @@ help: @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' +tests: + $(srctree)/test/run # Documentation targets # ---------------------------------------------------------------------------