From 1205345227872d9ed148883a2352924dfecd41fb Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Wed, 15 Jun 2022 10:35:14 +0200 Subject: [PATCH] cpu/Makefile.inc: Fix rebuilding a new target When switching to different board, 'make clean' needs to happen because not everything gets properly regenerated. Microcode updates are among those. You could end up with the microcode updates from the previous build which can be incorrect. Adding $(DOTCONFIG) as a dependency which gets updated when you change something in Kconfig fixes this. TESTED: swap between boards that use different microcode and see that the size changes. Change-Id: Id1edecc28d492838904e3659f1fe8c9df0a69134 Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/65148 Reviewed-by: Nico Huber Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/cpu/Makefile.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc index 2d90638bd5..12c682d43d 100644 --- a/src/cpu/Makefile.inc +++ b/src/cpu/Makefile.inc @@ -37,7 +37,7 @@ endif # updates are wrapped in a container, like AMD's microcode update container. If # there is only one microcode binary (i.e. one container), then we don't have # this issue, and this rule will continue to work. -$(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins)) +$(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins)) $(DOTCONFIG) for bin in $(cpu_microcode_bins); do \ if [ ! -f "$$bin" ]; then \ echo "Microcode error: $$bin does not exist"; \ @@ -50,10 +50,10 @@ $(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins)) fi; \ false; \ fi - $(if $^,,false) # fail if no file is given at all + $(if $(cpu_microcode_bins),,false) # fail if no file is given at all @printf " MICROCODE $(subst $(obj)/,,$(@))\n" @echo $(cpu_microcode_bins) - cat $^ > $@ + cat $(cpu_microcode_bins) > $@ cpu_microcode_blob.bin-file ?= $(obj)/cpu_microcode_blob.bin cpu_microcode_blob.bin-type := microcode