libpayload: Move .xcompile into $(obj)
Keep libpayload's xcompile in its build dir. While we are at it, align things with the top-level version. Having `.xcompile` in a central place led to race conditions when multiple payloads try to build their own libpayloads in parallel. Change-Id: I504e1862db79b368289867f7568c9169f27a1549 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47651 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
c4f8fbdb11
commit
1823d53cbf
|
@ -118,6 +118,11 @@ NOCOMPILE:=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
xcompile ?= $(obj)/xcompile
|
||||||
|
$(xcompile): $(top)/../../util/xcompile/xcompile
|
||||||
|
$< $(XGCCPATH) > $@.tmp
|
||||||
|
\mv -f $@.tmp $@ 2> /dev/null
|
||||||
|
|
||||||
ifeq ($(NOCOMPILE),1)
|
ifeq ($(NOCOMPILE),1)
|
||||||
include $(TOPLEVEL)/Makefile.inc
|
include $(TOPLEVEL)/Makefile.inc
|
||||||
real-all: config
|
real-all: config
|
||||||
|
@ -126,13 +131,17 @@ else
|
||||||
|
|
||||||
# in addition to the dependency below, create the file if it doesn't exist
|
# in addition to the dependency below, create the file if it doesn't exist
|
||||||
# to silence stupid warnings about a file that would be generated anyway.
|
# to silence stupid warnings about a file that would be generated anyway.
|
||||||
$(if $(wildcard .xcompile)$(NOCOMPILE),,$(eval $(shell $(top)/../../util/xcompile/xcompile $(XGCCPATH) > .xcompile)))
|
$(if $(wildcard $(xcompile)),,$(shell \
|
||||||
|
mkdir -p $(dir $(xcompile)) && \
|
||||||
|
$(top)/../../util/xcompile/xcompile $(XGCCPATH) > $(xcompile) || rm -f $(xcompile)))
|
||||||
|
|
||||||
.xcompile: $(top)/../../util/xcompile/xcompile
|
include $(xcompile)
|
||||||
$< $(XGCCPATH) > $@.tmp
|
|
||||||
\mv -f $@.tmp $@ 2> /dev/null
|
|
||||||
|
|
||||||
-include .xcompile
|
ifneq ($(XCOMPILE_COMPLETE),1)
|
||||||
|
$(shell rm -f $(xcompile))
|
||||||
|
$(error $(xcompile) deleted because it's invalid. \
|
||||||
|
Restarting the build should fix that, or explain the problem)
|
||||||
|
endif
|
||||||
|
|
||||||
CC := $(CC_$(ARCH-y))
|
CC := $(CC_$(ARCH-y))
|
||||||
AS := $(AS_$(ARCH-y))
|
AS := $(AS_$(ARCH-y))
|
||||||
|
@ -294,7 +303,7 @@ doxygen-clean:
|
||||||
rm -rf $(DOXYGEN_OUTPUT_DIR)
|
rm -rf $(DOXYGEN_OUTPUT_DIR)
|
||||||
|
|
||||||
clean-for-update: doxygen-clean clean-for-update-target
|
clean-for-update: doxygen-clean clean-for-update-target
|
||||||
rm -f $(allobjs) .xcompile
|
rm -f $(allobjs) $(xcompile)
|
||||||
rm -f $(DEPENDENCIES)
|
rm -f $(DEPENDENCIES)
|
||||||
rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
|
rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
|
||||||
|
|
||||||
|
|
|
@ -121,7 +121,7 @@ install: real-target
|
||||||
install -m 755 bin/lpas $(DESTDIR)/libpayload/bin
|
install -m 755 bin/lpas $(DESTDIR)/libpayload/bin
|
||||||
install -m 644 bin/lp.functions $(DESTDIR)/libpayload/bin
|
install -m 644 bin/lp.functions $(DESTDIR)/libpayload/bin
|
||||||
install -m 644 $(DOTCONFIG) $(DESTDIR)/libpayload/libpayload.config
|
install -m 644 $(DOTCONFIG) $(DESTDIR)/libpayload/libpayload.config
|
||||||
install -m 755 .xcompile $(DESTDIR)/libpayload/libpayload.xcompile
|
install -m 755 $(xcompile) $(DESTDIR)/libpayload/libpayload.xcompile
|
||||||
|
|
||||||
clean-for-update-target:
|
clean-for-update-target:
|
||||||
rm -f $(addsuffix .a,$(addprefix $(obj)/,$(libraries))) $(obj)/libpayload.a
|
rm -f $(addsuffix .a,$(addprefix $(obj)/,$(libraries))) $(obj)/libpayload.a
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
# Sample libpayload Makefile.
|
# Sample libpayload Makefile.
|
||||||
include ../.config
|
include ../.config
|
||||||
include ../.xcompile
|
include ../build/xcompile
|
||||||
|
|
||||||
ARCH-$(CONFIG_LP_ARCH_ARM) := arm
|
ARCH-$(CONFIG_LP_ARCH_ARM) := arm
|
||||||
ARCH-$(CONFIG_LP_ARCH_X86) := x86_32
|
ARCH-$(CONFIG_LP_ARCH_X86) := x86_32
|
||||||
|
|
Loading…
Reference in New Issue