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 <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65148
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
This commit is contained in:
Arthur Heymans 2022-06-15 10:35:14 +02:00 committed by Felix Held
parent 489aa54913
commit 1205345227
1 changed files with 3 additions and 3 deletions

View File

@ -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