common build: optee components
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
diff --git a/common.mk b/common.mk
index f3da672..24a03a5 100644
--- a/common.mk
+++ b/common.mk
@@ -2,7 +2,7 @@
# Common definition to all platforms
#
-BASH := $(shell which bash)
+BASH ?= bash
ROOT ?= $(shell pwd)/..
#
@@ -25,6 +25,45 @@
CCACHE ?= $(shell which ccache) # Don't remove this comment (space is needed)
################################################################################
+# defines, macros, configuration etc
+################################################################################
+define KERNEL_VERSION
+$(shell cd $(LINUX_PATH) && make --no-print-directory kernelversion)
+endef
+DEBUG ?= 0
+
+################################################################################
+# OP-TEE
+################################################################################
+optee-os-common:
+ make -C $(OPTEE_OS_PATH) \
+ CROSS_COMPILE=$(CROSS_COMPILE_S_USER) \
+ CROSS_COMPILE_core=$(CROSS_COMPILE_S_KERNEL) \
+ CFG_TEE_CORE_LOG_LEVEL=3 \
+ DEBUG=$(DEBUG) \
+
+optee-os-clean-common:
+ make -C $(OPTEE_OS_PATH) \
+ clean
+
+optee-client-common:
+ make -C $(OPTEE_CLIENT_PATH) \
+ CROSS_COMPILE=$(CROSS_COMPILE_NS_USER)
+
+optee-client-clean-common:
+ make -C $(OPTEE_CLIENT_PATH) clean
+
+optee-linuxdriver-common: linux
+ make -C $(LINUX_PATH) \
+ CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL) \
+ LOCALVERSION= \
+ M=$(OPTEE_LINUXDRIVER_PATH) modules
+
+optee-linuxdriver-clean-common:
+ make -C $(LINUX_PATH) \
+ M=$(OPTEE_LINUXDRIVER_PATH) clean
+
+################################################################################
# xtest / optee_test
################################################################################
xtest-common: optee-os optee-client
diff --git a/fvp.mk b/fvp.mk
index db1f273..9a102cf 100644
--- a/fvp.mk
+++ b/fvp.mk
@@ -1,3 +1,5 @@
+DEBUG ?= 1
+
-include common.mk
################################################################################
@@ -24,13 +26,6 @@
FOUNDATION_PATH ?= $(ROOT)/Foundation_Platformpkg
################################################################################
-# defines, macros, configuration etc
-################################################################################
-define KERNEL_VERSION
-$(shell cd $(LINUX_PATH) && make kernelversion)
-endef
-
-################################################################################
# Targets
################################################################################
all: arm-tf edk2 linux optee-os optee-client optee-linuxdriver generate-dtb xtest
@@ -123,39 +118,23 @@
# OP-TEE
################################################################################
optee-os:
- make -C $(OPTEE_OS_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
+ $(MAKE) \
PLATFORM=vexpress \
PLATFORM_FLAVOR=fvp \
CFG_TEE_CORE_LOG_LEVEL=3 \
- DEBUG=1 \
- -j`getconf _NPROCESSORS_ONLN`
+ optee-os-common
optee-os-clean:
- make -C $(OPTEE_OS_PATH) \
+ $(MAKE) \
PLATFORM=vexpress \
PLATFORM_FLAVOR=fvp \
- clean
+ optee-os-clean-common
-optee-client:
- make -C $(OPTEE_CLIENT_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- -j`getconf _NPROCESSORS_ONLN`
-
-optee-client-clean:
- make -C $(OPTEE_CLIENT_PATH) clean
-
-optee-linuxdriver: linux
- make -C $(LINUX_PATH) \
- V=0 \
- ARCH=arm64 \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- LOCALVERSION= \
- M=$(OPTEE_LINUXDRIVER_PATH) modules
-
-optee-linuxdriver-clean:
- make -C $(LINUX_PATH) \
- M=$(OPTEE_LINUXDRIVER_PATH) clean
+optee-client: optee-client-common
+optee-client-clean: optee-client-clean-common
+optee-linuxdriver:
+ $(MAKE) ARCH=arm64 optee-linuxdriver-common
+optee-linuxdriver-clean: optee-linuxdriver-clean-common
generate-dtb:
$(LINUX_PATH)/scripts/dtc/dtc \
diff --git a/hikey.mk b/hikey.mk
index 05bd692..8640609 100644
--- a/hikey.mk
+++ b/hikey.mk
@@ -10,8 +10,6 @@
OPTEE_OS_BIN ?= $(OPTEE_OS_PATH)/out/arm-plat-hikey/core/tee.bin
OPTEE_OS_TA_DEV_KIT_DIR ?= $(OPTEE_OS_PATH)/out/arm-plat-hikey/export-user_ta
-DEBUG = 0
-
################################################################################
# Paths to git projects and various binaries
################################################################################
@@ -47,13 +45,6 @@
LLOADER_PATH ?=$(ROOT)/l-loader
################################################################################
-# defines, macros, configuration etc
-################################################################################
-define KERNEL_VERSION
-$(shell cd $(LINUX_PATH) && make kernelversion)
-endef
-
-################################################################################
# Targets
################################################################################
all: mcuimage arm-tf edk2 linux optee-os optee-client optee-linuxdriver xtest strace update_rootfs boot-img lloader
@@ -231,40 +222,23 @@
# OP-TEE
################################################################################
optee-os:
- make -C $(OPTEE_OS_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- CROSS_COMPILE_core="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
+ $(MAKE) \
CFG_ARM64_core=y \
PLATFORM=hikey \
CFG_TEE_CORE_LOG_LEVEL=3 \
- DEBUG=$(DEBUG) \
- -j`getconf _NPROCESSORS_ONLN`
+ optee-os-common
optee-os-clean:
- make -C $(OPTEE_OS_PATH) \
+ $(MAKE) \
CFG_ARM64_core=y \
PLATFORM=hikey \
- clean
+ optee-os-clean-common
-optee-client:
- make -C $(OPTEE_CLIENT_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- -j`getconf _NPROCESSORS_ONLN`
-
-optee-client-clean:
- make -C $(OPTEE_CLIENT_PATH) clean
-
-optee-linuxdriver: linux
- make -C $(LINUX_PATH) \
- V=0 \
- ARCH=arm64 \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- LOCALVERSION= \
- M=$(OPTEE_LINUXDRIVER_PATH) modules
-
-optee-linuxdriver-clean:
- make -C $(LINUX_PATH) \
- M=$(OPTEE_LINUXDRIVER_PATH) clean
+optee-client: optee-client-common
+optee-client-clean: optee-client-clean-common
+optee-linuxdriver:
+ $(MAKE) ARCH=arm64 optee-linuxdriver-common
+optee-linuxdriver-clean: optee-linuxdriver-clean-common
################################################################################
# xtest / optee_test
diff --git a/mediatek.mk b/mediatek.mk
index 2533e52..9397d09 100644
--- a/mediatek.mk
+++ b/mediatek.mk
@@ -21,13 +21,6 @@
MTK_TOOLS_PATH ?= $(ROOT)/mtk_tools
################################################################################
-# defines, macros, configuration etc
-################################################################################
-define KERNEL_VERSION
-$(shell cd $(LINUX_PATH) && make kernelversion)
-endef
-
-################################################################################
# Targets
################################################################################
all: linux optee-os optee-client optee-linuxdriver xtest
@@ -80,41 +73,25 @@
# OP-TEE
################################################################################
optee-os:
- make -C $(OPTEE_OS_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- CROSS_COMPILE_core="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
+ $(MAKE) \
CFG_ARM64_core=y \
PLATFORM=mediatek \
PLATFORM_FLAVOR=mt8173 \
CFG_TEE_CORE_LOG_LEVEL=4 \
- DEBUG=0 \
- -j`getconf _NPROCESSORS_ONLN`
+ optee-os-common
optee-os-clean:
- make -C $(OPTEE_OS_PATH) \
+ $(MAKE) \
PLATFORM=mediatek \
PLATFORM_FLAVOR=mt8173 \
- clean
+ optee-os-clean-common
-optee-client:
- make -C $(OPTEE_CLIENT_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- -j`getconf _NPROCESSORS_ONLN`
+optee-client: optee-client-common
+optee-client-clean: optee-client-clean-common
-optee-client-clean:
- make -C $(OPTEE_CLIENT_PATH) clean
-
-optee-linuxdriver: linux
- make -C $(LINUX_PATH) \
- V=0 \
- ARCH=arm64 \
- CROSS_COMPILE="$(CCACHE)$(AARCH64_CROSS_COMPILE)" \
- LOCALVERSION= \
- M=$(OPTEE_LINUXDRIVER_PATH) modules
-
-optee-linuxdriver-clean:
- make -C $(LINUX_PATH) \
- M=$(OPTEE_LINUXDRIVER_PATH) clean
+optee-linuxdriver:
+ $(MAKE) ARCH=arm64 optee-linuxdriver-common
+optee-linuxdriver-clean: optee-linuxdriver-clean-common
################################################################################
# xtest / optee_test
diff --git a/qemu.mk b/qemu.mk
index 8d3fbc4..09e0897 100644
--- a/qemu.mk
+++ b/qemu.mk
@@ -21,12 +21,7 @@
SOC_TERM_PATH ?= $(ROOT)/soc_term
-################################################################################
-# defines, macros, configuration etc
-################################################################################
-define KERNEL_VERSION
-$(shell cd $(LINUX_PATH) && $(MAKE) --no-print-directory kernelversion)
-endef
+DEBUG = 1
################################################################################
# Targets
@@ -107,39 +102,23 @@
# OP-TEE
################################################################################
optee-os:
- make -C $(OPTEE_OS_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
+ $(MAKE) \
PLATFORM=vexpress \
PLATFORM_FLAVOR=qemu_virt \
CFG_TEE_CORE_LOG_LEVEL=3 \
- DEBUG=1 \
- -j`getconf _NPROCESSORS_ONLN`
+ optee-os-common
optee-os-clean:
- make -C $(OPTEE_OS_PATH) \
+ $(MAKE) \
PLATFORM=vexpress \
PLATFORM_FLAVOR=qemu_virt \
- clean
+ optee-os-clean-common
-optee-client:
- make -C $(OPTEE_CLIENT_PATH) \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- -j`getconf _NPROCESSORS_ONLN`
-
-optee-client-clean:
- make -C $(OPTEE_CLIENT_PATH) clean
-
-optee-linuxdriver: linux
- make -C $(LINUX_PATH) \
- V=0 \
- ARCH=arm \
- CROSS_COMPILE="$(CCACHE)$(AARCH32_CROSS_COMPILE)" \
- LOCALVERSION= \
- M=$(OPTEE_LINUXDRIVER_PATH) modules
-
-optee-linuxdriver-clean:
- make -C $(LINUX_PATH) \
- M=$(OPTEE_LINUXDRIVER_PATH) clean
+optee-client: optee-client-common
+optee-client-clean: optee-client-clean-common
+optee-linuxdriver:
+ $(MAKE) ARCH=arm optee-linuxdriver-common
+optee-linuxdriver-clean: optee-linuxdriver-clean-common
################################################################################
# Soc-term