coreboot-kgpe-d16/util/futility/Makefile.inc
Patrick Georgi ed820a0e21 util/futility: Don't refresh the binary all the time
Due to the phony dependency to check for openssl, vboot-futility
was always rebuilt, and because it was newer than coreboot-futility,
it was always copied over.

Do that in parallel often enough and you run into race conditions,
as we did on our builders. Mark check-openssl-presence as order-only
dependency so that it's executed (and can bail out) but doesn't force
regeneration of vboot-futility.

Change-Id: Ib7fb798096d423d6b6cba5d199e12fe5917c3b41
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47453
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2020-11-11 19:45:47 +00:00

24 lines
682 B
Makefile

additional-dirs += $(objutil)/futility
VBOOT_FUTILITY = $(VBOOT_HOST_BUILD)/futility/futility
HOSTPKGCONFIG ?= pkg-config
$(VBOOT_FUTILITY): | check-openssl-presence
@printf " MAKE $(subst $(objutil)/,,$(@))\n"
unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
BUILD=$(VBOOT_HOST_BUILD) \
CC="$(HOSTCC)" \
PKG_CONFIG="$(HOSTPKGCONFIG)" \
V=$(V) \
$@
.PHONY: check-openssl-presence
check-openssl-presence:
$(HOSTPKGCONFIG) --exists libcrypto || \
(echo "Error: Ensure that pkg-config and openssl's libcrypto, including header files, are installed."; exit 1)
$(objutil)/futility/futility: $(VBOOT_FUTILITY)
mkdir -p $(dir $@)
cp $< $@.tmp
mv $@.tmp $@