build system: Structure and serialize INTERMEDIATE
commitd6eb72c87eb569000df62456c187329ee4967dc1
authorPatrick Georgi <pgeorgi@google.com>
Tue, 12 Jan 2021 14:09:57 +0000 (12 15:09 +0100)
committerPatrick Georgi <pgeorgi@google.com>
Thu, 14 Jan 2021 16:53:06 +0000 (14 16:53 +0000)
treefa8458b76763daaed1f3fbe55098e112492e3821
parent725596622d1362a192cc8203c5b331a7248454e3
build system: Structure and serialize INTERMEDIATE

Target added to INTERMEDIATE all operate on coreboot.pre, each modifying
the file in some way. When running them in parallel, coreboot.pre can be
read from and written to in parallel which can corrupt the result.

Add a function to create those rules that also adds existing
INTERMEDIATE targets to enforce an order (as established by evaluation
order of Makefile.inc files).

While at it, also add the addition to the PHONY target so we don't
forget it.

BUG=chromium:1154313, b:174585424
TEST=Built a configuration with SeaBIOS + SeaBIOS config files (ps2
timeout and sercon) and saw that they were executed.

Change-Id: Ia5803806e6c33083dfe5dec8904a65c46436e756
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/49358
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
12 files changed:
Makefile.inc
payloads/external/Makefile.inc
src/cpu/intel/fit/Makefile.inc
src/ec/hp/kbc1126/Makefile.inc
src/mainboard/amd/majolica/Makefile.inc
src/mainboard/amd/mandolin/Makefile.inc
src/security/intel/cbnt/Makefile.inc
src/security/intel/txt/Makefile.inc
src/soc/amd/stoneyridge/Makefile.inc
src/soc/intel/common/block/fast_spi/Makefile.inc
src/southbridge/amd/pi/hudson/Makefile.inc
src/southbridge/intel/common/firmware/Makefile.inc