blob: d6cca85954ff092a7e1573460f6d15f76778c4ea [file] [log] [blame]
Pascal Brandd6536da2015-09-01 10:38:43 +02001#
2# Common definition to all platforms
3#
4
Pascal Brand070d9552015-09-01 15:33:22 +02005BASH ?= bash
Pascal Brandd6536da2015-09-01 10:38:43 +02006ROOT ?= $(shell pwd)/..
7
8#
9# Must declare in platform specific makefiles:
10# - CROSS_COMPILE_NS_USER / CROSS_COMPILE_NS_KERNEL
11# - CROSS_COMPILE_S_USER / CROSS_COMPILE_S_KERNEL
12#
13# - OPTEE_OS_BIN
14# - OPTEE_OS_TA_DEV_KIT_DIR
15#
16
17LINUX_PATH ?= $(ROOT)/linux
Pascal Brand440ef9c2015-09-08 16:01:58 +020018GEN_ROOTFS_PATH ?= $(ROOT)/gen_rootfs
19GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
Pascal Brandd6536da2015-09-01 10:38:43 +020020OPTEE_OS_PATH ?= $(ROOT)/optee_os
21OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client
22OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export
23OPTEE_LINUXDRIVER_PATH ?= $(ROOT)/optee_linuxdriver
24OPTEE_TEST_PATH ?= $(ROOT)/optee_test
25OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out
26
27CCACHE ?= $(shell which ccache) # Don't remove this comment (space is needed)
28
29################################################################################
Pascal Brand070d9552015-09-01 15:33:22 +020030# defines, macros, configuration etc
31################################################################################
32define KERNEL_VERSION
Jerome Forissierae45fbf2015-09-04 09:40:17 +020033$(shell cd $(LINUX_PATH) && $(MAKE) --no-print-directory kernelversion)
Pascal Brand070d9552015-09-01 15:33:22 +020034endef
35DEBUG ?= 0
36
37################################################################################
Pascal Brand440ef9c2015-09-08 16:01:58 +020038# Busybox
39################################################################################
40BUSYBOX_COMMON_TARGET ?= TOBEDEFINED
41BUSYBOX_CLEAN_COMMON_TARGET ?= TOBEDEFINED
42BUSYBOX_COMMON_CCDIR ?= TOBEDEFINED
43
44busybox-common: linux
45 cd $(GEN_ROOTFS_PATH) && \
46 CC_DIR=$(BUSYBOX_COMMON_CCDIR) \
47 PATH=${PATH}:$(LINUX_PATH)/usr \
48 $(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh \
49 $(BUSYBOX_COMMON_TARGET)
50
51busybox-clean-common:
52 cd $(GEN_ROOTFS_PATH) && \
53 $(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh \
54 $(BUSYBOX_CLEAN_COMMON_TARGET)
55
56busybox-cleaner-common:
57 rm -rf $(GEN_ROOTFS_PATH)/build
58 rm -rf $(GEN_ROOTFS_PATH)/filelist-final.txt
59
60################################################################################
Pascal Brand9a0f50f2015-09-08 15:34:17 +020061# EDK2 / Tianocore
62################################################################################
63# Make sure edksetup.sh only will be called once and that we don't rebuild
64# BaseTools again and again.
65$(EDK2_PATH)/Conf/target.txt:
66 set -e && cd $(EDK2_PATH) && $(BASH) edksetup.sh && \
67 $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools
68
69edk2-common: $(EDK2_PATH)/Conf/target.txt
70 set -e && cd $(EDK2_PATH) && $(BASH) edksetup.sh && \
71 $(call edk2-call)
72
73edk2-clean-common:
74 set -e && cd $(EDK2_PATH) && $(BASH) edksetup.sh && \
75 $(call edk2-call) clean && \
76 $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools clean && \
77 rm -f $(EDK2_PATH)/Conf/target.txt
78
79################################################################################
Pascal Brand070d9552015-09-01 15:33:22 +020080# OP-TEE
81################################################################################
Jerome Forissierae45fbf2015-09-04 09:40:17 +020082OPTEE_OS_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_S_USER) \
83 CROSS_COMPILE_core=$(CROSS_COMPILE_S_KERNEL) \
84 CFG_TEE_CORE_LOG_LEVEL=3 \
85 DEBUG=$(DEBUG)
86
Pascal Brand070d9552015-09-01 15:33:22 +020087optee-os-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +020088 $(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_COMMON_FLAGS)
89
90OPTEE_OS_CLEAN_COMMON_FLAGS ?= $(OPTEE_OS_COMMON_FLAGS)
Pascal Brand070d9552015-09-01 15:33:22 +020091
92optee-os-clean-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +020093 $(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_CLEAN_COMMON_FLAGS) clean
94
95OPTEE_CLIENT_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_USER)
Pascal Brand070d9552015-09-01 15:33:22 +020096
97optee-client-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +020098 $(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_COMMON_FLAGS)
99
100OPTEE_CLIENT_CLEAN_COMMON_FLAGS ?= $(OPTEE_CLIENT_COMMON_FLAGS)
Pascal Brand070d9552015-09-01 15:33:22 +0200101
102optee-client-clean-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200103 $(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_CLEAN_COMMON_FLAGS) \
104 clean
105
106OPTEE_LINUXDRIVER_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL) \
107 LOCALVERSION= M=$(OPTEE_LINUXDRIVER_PATH)
Pascal Brand070d9552015-09-01 15:33:22 +0200108
109optee-linuxdriver-common: linux
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200110 $(MAKE) -C $(LINUX_PATH) $(OPTEE_LINUXDRIVER_COMMON_FLAGS) modules
111
112OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS ?= $(OPTEE_LINUXDRIVER_COMMON_FLAGS)
Pascal Brand070d9552015-09-01 15:33:22 +0200113
114optee-linuxdriver-clean-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200115 $(MAKE) -C $(LINUX_PATH) $(OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS) clean
Pascal Brand070d9552015-09-01 15:33:22 +0200116
117################################################################################
Pascal Brandd6536da2015-09-01 10:38:43 +0200118# xtest / optee_test
119################################################################################
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200120XTEST_COMMON_FLAGS ?= CROSS_COMPILE_HOST=$(CROSS_COMPILE_NS_USER)\
121 CROSS_COMPILE_TA=$(CROSS_COMPILE_S_USER) \
122 TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR) \
123 CFG_DEV_PATH=$(ROOT) \
124 O=$(OPTEE_TEST_OUT_PATH)
125
Pascal Brandd6536da2015-09-01 10:38:43 +0200126xtest-common: optee-os optee-client
127 @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200128 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_COMMON_FLAGS); \
Pascal Brandd6536da2015-09-01 10:38:43 +0200129 fi
130
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200131XTEST_CLEAN_COMMON_FLAGS ?= $(XTEST_COMMON_FLAGS)
132
Pascal Brandd6536da2015-09-01 10:38:43 +0200133xtest-clean-common:
134 @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200135 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_CLEAN_COMMON_FLAGS) clean; \
Pascal Brandd6536da2015-09-01 10:38:43 +0200136 fi
137
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200138XTEST_PATCH_COMMON_FLAGS ?= $(XTEST_COMMON_FLAGS) \
139 CFG_OPTEE_TEST_PATH=$(OPTEE_TEST_PATH)
140
Pascal Brandd6536da2015-09-01 10:38:43 +0200141xtest-patch-common: optee-os optee-client
142 @if [ -d "$(OPTEE_TEST_PATH)" ]; then \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200143 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_PATCH_COMMON_FLAGS) \
144 patch; \
Pascal Brandd6536da2015-09-01 10:38:43 +0200145 fi