diff options
author | Bence Szépkúti <bence.szepkuti@arm.com> | 2019-11-29 18:23:56 +0100 |
---|---|---|
committer | Bence Szépkúti <bence.szepkuti@arm.com> | 2019-11-29 18:23:56 +0100 |
commit | 537b358321b850bfca59c5f8f5941a1e70d9341d (patch) | |
tree | 987a079bd37de7624f90edb441b48aa5a1eb167c | |
parent | 640af3a32b645e1b54003081d93739a6d05527dc (diff) | |
download | tf-a-tests-537b358321b850bfca59c5f8f5941a1e70d9341d.tar.gz |
make: Fix parallel builds
Parallel builds would fail while generating the dependency file of the
first source file that included tests_list.h due to it missing.
In-order builds only worked, because a rule that specified tests_list.c
as a prerequisite happened to get executed first.
This patch introduces tests_list.h as an order-only dependency of all
rules that generate dependency files. This is necessary because we can't
know which files actually depend on it until the dependency files have
been generated.
This forces the autogenerated files to be generated before any other
files are compiled, but does not cause unrelated files to recompile if
they are modified.
Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
Change-Id: I21f0b98052a884a853935ea35a2898ff90245a49
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | fwu/ns_bl1u/ns_bl1u.mk | 2 | ||||
-rw-r--r-- | fwu/ns_bl2u/ns_bl2u.mk | 2 | ||||
-rw-r--r-- | spm/cactus/cactus.mk | 2 | ||||
-rw-r--r-- | spm/cactus_mm/cactus_mm.mk | 2 | ||||
-rw-r--r-- | spm/ivy/ivy.mk | 2 | ||||
-rw-r--r-- | spm/quark/quark.mk | 2 |
7 files changed, 6 insertions, 12 deletions
@@ -353,7 +353,7 @@ define MAKE_C $(eval OBJ := $(1)/$(patsubst %.c,%.o,$(notdir $(2)))) $(eval DEP := $(patsubst %.o,%.d,$(OBJ))) -$(OBJ) : $(2) +$(OBJ) : $(2) | $(AUTOGEN_DIR)/tests_list.h @echo " CC $$<" $$(Q)$$(CC) $$($(3)_CFLAGS) ${$(3)_INCLUDES} ${$(3)_DEFINES} -DIMAGE_$(3) $(MAKE_DEP) -c $$< -o $$@ @@ -366,7 +366,7 @@ define MAKE_S $(eval OBJ := $(1)/$(patsubst %.S,%.o,$(notdir $(2)))) $(eval DEP := $(patsubst %.o,%.d,$(OBJ))) -$(OBJ) : $(2) +$(OBJ) : $(2) | $(AUTOGEN_DIR)/tests_list.h @echo " AS $$<" $$(Q)$$(AS) $$($(3)_ASFLAGS) ${$(3)_INCLUDES} ${$(3)_DEFINES} -DIMAGE_$(3) $(MAKE_DEP) -c $$< -o $$@ @@ -378,7 +378,7 @@ define MAKE_LD $(eval DEP := $(1).d) -$(1) : $(2) +$(1) : $(2) | $(AUTOGEN_DIR)/tests_list.h @echo " PP $$<" $$(Q)$$(AS) $$($(3)_ASFLAGS) ${$(3)_INCLUDES} ${$(3)_DEFINES} -P -E $(MAKE_DEP) -o $$@ $$< diff --git a/fwu/ns_bl1u/ns_bl1u.mk b/fwu/ns_bl1u/ns_bl1u.mk index 7a6b65b77..cf2b4a8ed 100644 --- a/fwu/ns_bl1u/ns_bl1u.mk +++ b/fwu/ns_bl1u/ns_bl1u.mk @@ -68,5 +68,3 @@ ifeq (${ARCH},aarch32) else $(eval $(call add_define,NS_BL1U_DEFINES,AARCH64)) endif - -ns_bl1u: ${AUTOGEN_DIR}/tests_list.h diff --git a/fwu/ns_bl2u/ns_bl2u.mk b/fwu/ns_bl2u/ns_bl2u.mk index 0351e55bd..dd9e6630d 100644 --- a/fwu/ns_bl2u/ns_bl2u.mk +++ b/fwu/ns_bl2u/ns_bl2u.mk @@ -64,5 +64,3 @@ ifeq (${ARCH},aarch32) else $(eval $(call add_define,NS_BL2U_DEFINES,AARCH64)) endif - -ns_bl2u: ${AUTOGEN_DIR}/tests_list.h diff --git a/spm/cactus/cactus.mk b/spm/cactus/cactus.mk index 4acc715dc..56209027b 100644 --- a/spm/cactus/cactus.mk +++ b/spm/cactus/cactus.mk @@ -72,4 +72,4 @@ $(CACTUS_DTB) : spm/cactus/cactus.dts @echo "Built $@ successfully" @echo -cactus: $(CACTUS_DTB) $(AUTOGEN_DIR)/tests_list.h +cactus: $(CACTUS_DTB) diff --git a/spm/cactus_mm/cactus_mm.mk b/spm/cactus_mm/cactus_mm.mk index cd799c190..449f2ce8f 100644 --- a/spm/cactus_mm/cactus_mm.mk +++ b/spm/cactus_mm/cactus_mm.mk @@ -55,5 +55,3 @@ $(eval $(call add_define,CACTUS_MM_DEFINES,DEBUG)) $(eval $(call add_define,CACTUS_MM_DEFINES,LOG_LEVEL)) $(eval $(call add_define,CACTUS_MM_DEFINES,PLAT_${PLAT})) $(eval $(call add_define,CACTUS_MM_DEFINES,AARCH64)) - -cactus_mm: ${AUTOGEN_DIR}/tests_list.h diff --git a/spm/ivy/ivy.mk b/spm/ivy/ivy.mk index 5a6ccf004..2985b60cc 100644 --- a/spm/ivy/ivy.mk +++ b/spm/ivy/ivy.mk @@ -68,4 +68,4 @@ $(IVY_DTB) : spm/ivy/ivy.dts @echo "Built $@ successfully" @echo -ivy: $(IVY_DTB) $(AUTOGEN_DIR)/tests_list.h +ivy: $(IVY_DTB) diff --git a/spm/quark/quark.mk b/spm/quark/quark.mk index 554d33439..9bf81d148 100644 --- a/spm/quark/quark.mk +++ b/spm/quark/quark.mk @@ -61,4 +61,4 @@ $(QUARK_DTB) : spm/quark/quark.dts @echo "Built $@ successfully" @echo -quark: $(QUARK_DTB) $(AUTOGEN_DIR)/tests_list.h +quark: $(QUARK_DTB) |