Commonlize xtest compilation among all platforms
This is the first patch of a serie that show how makefile for specific
platform support may use common rules. comon.mk is introduced. It contains:
- common variable definitions, such as the compilers
- common git to use and path (typically the OP-TEE ones)
- common macros (CCACHE, and others to come).
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
diff --git a/qemu.mk b/qemu.mk
index 82ff51f..8d3fbc4 100644
--- a/qemu.mk
+++ b/qemu.mk
@@ -1,26 +1,22 @@
-BASH := $(shell which bash)
-ROOT ?= $(shell pwd)/..
+-include common.mk
+
+################################################################################
+# Mandatory definition to use common.mk
+################################################################################
+CROSS_COMPILE_NS_USER ?= "$(CCACHE)$(AARCH32_CROSS_COMPILE)"
+CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(AARCH32_CROSS_COMPILE)"
+CROSS_COMPILE_S_USER ?= "$(CCACHE)$(AARCH32_CROSS_COMPILE)"
+CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(AARCH32_CROSS_COMPILE)"
+OPTEE_OS_BIN ?= $(OPTEE_OS_PATH)/out/arm-plat-vexpress/core/tee.bin
+OPTEE_OS_TA_DEV_KIT_DIR ?= $(OPTEE_OS_PATH)/out/arm-plat-vexpress/export-user_ta
################################################################################
# Paths to git projects and various binaries
################################################################################
-LINUX_PATH ?= $(ROOT)/linux
-
-OPTEE_OS_PATH ?= $(ROOT)/optee_os
-OPTEE_OS_BIN ?= $(OPTEE_OS_PATH)/out/arm-plat-vexpress/core/tee.bin
-
-OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client
-OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export
-OPTEE_LINUXDRIVER_PATH ?= $(ROOT)/optee_linuxdriver
-
-OPTEE_TEST_PATH ?= $(ROOT)/optee_test
-OPTEE_TEST_OUT_PATH ?= $(ROOT)/out/optee_test
-
-GEN_ROOTFS_PATH ?= $(ROOT)/gen_rootfs
-GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
+GEN_ROOTFS_PATH ?= $(ROOT)/gen_rootfs
+GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
BIOS_QEMU_PATH ?= $(ROOT)/bios_qemu_tz_arm
-
QEMU_PATH ?= $(ROOT)/qemu
SOC_TERM_PATH ?= $(ROOT)/soc_term
@@ -32,8 +28,6 @@
$(shell cd $(LINUX_PATH) && $(MAKE) --no-print-directory kernelversion)
endef
-CCACHE ?= $(shell which ccache) # Don't remove this comment (space is needed)
-
################################################################################
# Targets
################################################################################
@@ -159,44 +153,15 @@
################################################################################
# xtest / optee_test
################################################################################
-xtest: optee-os optee-client
- @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
- make -C $(OPTEE_TEST_PATH) \
- -j`getconf _NPROCESSORS_ONLN` \
- CROSS_COMPILE_HOST="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- CROSS_COMPILE_TA="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- TA_DEV_KIT_DIR=$(OPTEE_OS_PATH)/out/arm-plat-vexpress/export-user_ta \
- CFG_ARM32=y \
- CFG_DEV_PATH=$(ROOT) \
- O=$(OPTEE_TEST_OUT_PATH); \
- fi
+xtest:
+ $(MAKE) xtest-common CFG_ARM32=y
xtest-clean:
- @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
- make -C $(OPTEE_TEST_PATH) \
- -j`getconf _NPROCESSORS_ONLN` \
- CROSS_COMPILE_HOST="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- CROSS_COMPILE_TA="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- TA_DEV_KIT_DIR=$(OPTEE_OS_PATH)/out/arm-plat-vexpress/export-user_ta \
- CFG_ARM32=y \
- CFG_DEV_PATH=$(ROOT) \
- O=$(OPTEE_TEST_OUT_PATH) \
- clean; \
- fi
+ $(MAKE) xtest-clean-common CFG_ARM32=y
-xtest-patch: optee-os optee-client
- @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
- make -C $(OPTEE_TEST_PATH) \
- -j`getconf _NPROCESSORS_ONLN` \
- CROSS_COMPILE_HOST="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- CROSS_COMPILE_TA="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- TA_DEV_KIT_DIR=$(OPTEE_OS_PATH)/out/arm-plat-vexpress/export-user_ta \
- CFG_ARM32=y \
- CFG_DEV_PATH=$(ROOT) \
- CFG_OPTEE_TEST_PATH=$(OPTEE_TEST_PATH) \
- O=$(OPTEE_TEST_OUT_PATH) \
- patch; \
- fi
+xtest-patch:
+ $(MAKE) xtest-patch-common CFG_ARM32=y
+
################################################################################
# Root FS