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>
This commit is contained in:
committed by
Edward O'Callaghan
parent
e565f75221
commit
d74b8d9c99
@@ -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"
|
||||
|
Reference in New Issue
Block a user