diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.spl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index d0d73d3..5a7f79c 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -216,6 +216,17 @@ quiet_cmd_cpp_cfg = CFG $@ cmd_cpp_cfg = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \ -DDO_DEPS_ONLY -D__ASSEMBLY__ -x assembler-with-cpp -P -dM -E -o $@ $< +# 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)/.$(SPL_BIN).d),) + unused := $(shell rm -f $(obj)/$(SPL_BIN).cfg) +endif $(obj)/$(SPL_BIN).cfg: include/config.h FORCE $(call if_changed_dep,cpp_cfg) |