aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBence Szépkúti <bence.szepkuti@arm.com>2019-11-29 18:23:56 +0100
committerBence Szépkúti <bence.szepkuti@arm.com>2019-11-29 18:23:56 +0100
commit537b358321b850bfca59c5f8f5941a1e70d9341d (patch)
tree987a079bd37de7624f90edb441b48aa5a1eb167c
parent640af3a32b645e1b54003081d93739a6d05527dc (diff)
downloadtf-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--Makefile6
-rw-r--r--fwu/ns_bl1u/ns_bl1u.mk2
-rw-r--r--fwu/ns_bl2u/ns_bl2u.mk2
-rw-r--r--spm/cactus/cactus.mk2
-rw-r--r--spm/cactus_mm/cactus_mm.mk2
-rw-r--r--spm/ivy/ivy.mk2
-rw-r--r--spm/quark/quark.mk2
7 files changed, 6 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 1269b6d9b..100e24165 100644
--- a/Makefile
+++ b/Makefile
@@ -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)