summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorReka Norman <rekanorman@google.com>2021-09-21 14:29:24 +1000
committerPatrick Georgi <pgeorgi@google.com>2021-09-23 06:20:59 +0000
commitbdc49b2de3145a06c2cb33aaf2355b6bf1dd552d (patch)
treea55931531ebf7c3206f9e6cb6f32153dfd0ca834 /src/lib
parentc2800a5a60f6b914f9a62c7ab301cfd49f97075f (diff)
downloadcoreboot-bdc49b2de3145a06c2cb33aaf2355b6bf1dd552d.tar.gz
coreboot-bdc49b2de3145a06c2cb33aaf2355b6bf1dd552d.tar.bz2
coreboot-bdc49b2de3145a06c2cb33aaf2355b6bf1dd552d.zip
lib/Makefile.inc: Generate placeholder spd.bin in lib/Makefile.inc
When a new variant is created, it needs to have a path to its SPD binary defined. Currently, this is done by setting SPD_SOURCES to a placeholder SPD file, which just contains zero bytes. To remove the need for a placeholder file, automatically generate a single-byte spd.bin in lib/Makefile.inc when SPD_SOURCES is set to the marker value 'placeholder'. BUG=b:191776301 TEST=Change cappy/memory/Makefile to `SPD_SOURCES = placeholder`. Build and check that spd.bin contains a single zero byte. Signed-off-by: Reka Norman <rekanorman@google.com> Change-Id: I11f8f9b7ea3bc32aa5c7a617558572a5c1c74c72 Reviewed-on: https://review.coreboot.org/c/coreboot/+/57795 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.inc20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 7b21c80dc7f8..8da875e25577 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -366,15 +366,19 @@ $(LIB_SPD_BIN): $(LIB_SPD_DEPS)
(echo "HAVE_SPD_IN_CBFS is set but SPD_SOURCES is empty" && exit 1)
test -n "$(LIB_SPD_DEPS)" || \
(echo "SPD_SOURCES is set but no SPD file was found" && exit 1)
- for f in $(LIB_SPD_DEPS); do \
- if [ ! -f $$f ]; then \
- echo "File not found: $$f" >&2; \
- exit 1; \
- fi; \
- for c in $$(cat $$f | grep --binary-files=text -v ^#); \
- do printf $$(printf '\\%o' 0x$$c); \
+ if [ "$(SPD_SOURCES)" = "placeholder" ]; then \
+ printf '\0'; \
+ else \
+ for f in $(LIB_SPD_DEPS); do \
+ if [ ! -f $$f ]; then \
+ echo "File not found: $$f" >&2; \
+ exit 1; \
+ fi; \
+ for c in $$(cat $$f | grep --binary-files=text -v ^#); \
+ do printf $$(printf '\\%o' 0x$$c); \
+ done; \
done; \
- done > $@
+ fi > $@
cbfs-files-y += spd.bin
spd.bin-file := $(LIB_SPD_BIN)