FVP parallel compilation
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
diff --git a/fvp.mk b/fvp.mk
index 92efbd1..d5502d7 100644
--- a/fvp.mk
+++ b/fvp.mk
@@ -76,13 +76,14 @@
# Make sure edksetup.sh only will be called once and that we don't rebuild
# BaseTools again and again.
$(EDK2_PATH)/Conf/target.txt:
- cd $(EDK2_PATH); $(BASH) edksetup.sh; \
- make -C $(EDK2_PATH)/BaseTools clean; \
- make -C $(EDK2_PATH)/BaseTools; \
+ set -e && \
+ cd $(EDK2_PATH) && \
+ $(BASH) edksetup.sh && \
+ $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools
define edk2-common
GCC49_AARCH64_PREFIX=$(AARCH64_NONE_CROSS_COMPILE) \
- make -C $(EDK2_PATH) \
+ $(MAKE) -j1 -C $(EDK2_PATH) \
-f ArmPlatformPkg/Scripts/Makefile EDK2_ARCH=AARCH64 \
EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \
EDK2_TOOLCHAIN=GCC49 EDK2_BUILD=RELEASE \
@@ -90,12 +91,18 @@
endef
edk2: $(EDK2_PATH)/Conf/target.txt
+ set -e && \
+ cd $(EDK2_PATH) && \
+ $(BASH) edksetup.sh && \
$(call edk2-common)
edk2-clean:
- $(call edk2-common) clean
- cd $(EDK2_PATH); \
- make -C BaseTools clean
+ set -e && \
+ cd $(EDK2_PATH) && \
+ $(BASH) edksetup.sh && \
+ $(call edk2-common) clean && \
+ $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools clean && \
+ rm -f $(EDK2_PATH)/Conf/target.txt
################################################################################
# Linux kernel
@@ -133,7 +140,7 @@
OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS += ARCH=arm64
optee-linuxdriver-clean: optee-linuxdriver-clean-common
-generate-dtb:
+generate-dtb: linux
$(LINUX_PATH)/scripts/dtc/dtc \
-O dtb \
-o $(FOUNDATION_PATH)/fdt.dtb \
@@ -187,7 +194,9 @@
# Run targets
################################################################################
# This target enforces updating root fs etc
-run: | update_rootfs run-only
+run: all
+ $(MAKE) update_rootfs
+ $(MAKE) run-only
run-only:
@ln -sf $(LINUX_PATH)/arch/arm64/boot/Image $(FOUNDATION_PATH)