X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=Makefile;h=27d425e346cc716ddc579b3742d78a4e1724acc7;hb=6c46f79291e9ee9cdcf656462eee37ee361d703c;hp=be3e60d573d06ed5f368fb06fcfb1535c0051d46;hpb=b9e745bbe2562fda710d668dc9cef46e0b23049f;p=karo-tx-uboot.git diff --git a/Makefile b/Makefile index be3e60d573..27d425e346 100644 --- a/Makefile +++ b/Makefile @@ -741,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) @@ -936,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