summaryrefslogtreecommitdiffstats
path: root/util/cbfstool/Makefile.inc
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2021-11-29 11:02:46 +1100
committerEdward O'Callaghan <quasisec@chromium.org>2022-01-14 23:10:55 +0000
commitd74b8d9c990780ba64515b36aaff79d719d71ead (patch)
treed6adb48a2f271cb333f9182e8b839015b612950b /util/cbfstool/Makefile.inc
parente565f752217d8f67504f65b980fe7511724e8dd9 (diff)
downloadcoreboot-d74b8d9c990780ba64515b36aaff79d719d71ead.tar.gz
coreboot-d74b8d9c990780ba64515b36aaff79d719d71ead.tar.bz2
coreboot-d74b8d9c990780ba64515b36aaff79d719d71ead.zip
util/cbfstool: Port elogtool to libflashrom
This also uncouples cbfstool from being overly Chromium specific. However the main objective is to not subprocess flashrom any more and instead use the programmatic API. BUG=b:207808292 TEST=built and ran `elogtool (list|clear|add 0x16 C0FFEE)`. Change-Id: I79df2934b9b0492a554a4fecdd533a0abe1df231 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59714 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sam McNally <sammc@google.com>
Diffstat (limited to 'util/cbfstool/Makefile.inc')
-rw-r--r--util/cbfstool/Makefile.inc13
1 files changed, 11 insertions, 2 deletions
diff --git a/util/cbfstool/Makefile.inc b/util/cbfstool/Makefile.inc
index 3787a5657809..a568e9aef649 100644
--- a/util/cbfstool/Makefile.inc
+++ b/util/cbfstool/Makefile.inc
@@ -1,3 +1,5 @@
+HOSTPKGCONFIG ?= /usr/bin/pkg-config
+
compressionobj :=
compressionobj += compress.o
# LZ4
@@ -92,6 +94,7 @@ amdcompobj += xdr.o
elogobj :=
elogobj := elogtool.o
elogobj += eventlog.o
+elogobj += uflashrom.o
elogobj += valstr.o
elogobj += elog.o
elogobj += common.o
@@ -144,6 +147,12 @@ else
TOOLCFLAGS+=-std=c11
endif
+.PHONY: check-flashrom-presence
+check-flashrom-presence:
+ $(HOSTPKGCONFIG) --exists flashrom || \
+ (echo "Error: Ensure that pkg-config and flashrom are installed."; exit 1)
+
+FLASHROM := $$($(HOSTPKGCONFIG) --libs flashrom)
VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a
$(VBOOT_HOSTLIB):
@@ -224,9 +233,9 @@ $(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj))
printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
$(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz
-$(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
+$(objutil)/cbfstool/elogtool: | check-flashrom-presence $(addprefix $(objutil)/cbfstool/,$(elogobj))
printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
- $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(FLASHROM)
$(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"