summaryrefslogtreecommitdiff
path: root/payloads/libpayload/Makefile.inc
diff options
context:
space:
mode:
authorJakub Czapiga <jacz@semihalf.com>2022-01-12 09:59:39 +0000
committerJulius Werner <jwerner@chromium.org>2022-01-15 00:22:41 +0000
commit395f5b3129ad046a220aa4cf975279bfdebc19df (patch)
tree477af2cff7d7a40e47067c88b11178c4b9ff574b /payloads/libpayload/Makefile.inc
parentd74b8d9c990780ba64515b36aaff79d719d71ead (diff)
libpayload: Install vboot headers and add include paths to lpgcc
New CBFS API uses commonlib/bsd/cbfs_serialized.h, which includes vboot's vb2_sha.h. And, because vboot's includes are not available in libpayload's installation directory nor in lpgcc paths, it was causing compilation errors. This patch fixes this issue. lpgcc will look for `vboot` directory like it is doing for `include` directory to create correct paths. However, if payload will be built using libpayload's build dir as a base, then vboot headers from 3rdparty/vboot will be used, as there is no way to pass VBOOT_SOURCE from makefile to lpgcc. Moreover, this patch moves VBOOT_SOURCE to the main Makefile to make it available for installation target, to install headers from vboot directory provided by caller. Change-Id: I68dd7e1545cfcaf24547d8a9fe289447c79da222 Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Reported-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/61032 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload/Makefile.inc')
-rw-r--r--payloads/libpayload/Makefile.inc9
1 files changed, 9 insertions, 0 deletions
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc
index ac7bb81715..c540bb7dbc 100644
--- a/payloads/libpayload/Makefile.inc
+++ b/payloads/libpayload/Makefile.inc
@@ -131,6 +131,15 @@ install: real-target
$(foreach item,$(includes), \
install -m 755 -d $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); \
install -m 644 $(call extract_nth,1,$(item)) $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); )
+ printf " INSTALL $(DESTDIR)/libpayload/vboot\n"
+ install -m 755 -d $(DESTDIR)/libpayload/vboot
+ for file in `find $(VBOOT_SOURCE)/firmware/include \
+ $(VBOOT_SOURCE)/firmware/2lib/include \
+ -iname '*.h' -type f \
+ | sed 's,$(VBOOT_SOURCE)/firmware/,,'`; do \
+ install -m 755 -d $(DESTDIR)/libpayload/vboot/$$(dirname $$file); \
+ install -m 644 $(VBOOT_SOURCE)/firmware/$$file $(DESTDIR)/libpayload/vboot/$$file ; \
+ done
printf " INSTALL $(DESTDIR)/libpayload/bin\n"
install -m 755 -d $(DESTDIR)/libpayload/bin
install -m 755 bin/lpgcc $(DESTDIR)/libpayload/bin