summaryrefslogtreecommitdiff
path: root/aosp_optee.mk (plain)
blob: 1e5e42ae7083492745f32987eee6289fb6c2f7ef
1##########################################################
2## Lines for building TAs automatically ##
3## will only be included in Android.mk for TAs ##
4## local_module:
5## local_module_ta_name:
6## need to be defined before include for this ##
7##########################################################
8
9OPTEE_CROSS_COMPILE := arm-linux-gnueabihf-
10CROSS_COMPILE_LINE := CROSS_COMPILE=$(OPTEE_CROSS_COMPILE)
11OPTEE_TA_OUT_DIR ?= $(PRODUCT_OUT)/optee/ta
12
13TOP_ROOT_ABS := $(realpath $(TOP))
14TA_DEV_KIT_DIR := $(BOARD_AML_VENDOR_PATH)/tdk/ta_export
15
16ifeq ($(TARGET_ENABLE_TA_SIGN), true)
17TDK_PATH := $(TOP_ROOT_ABS)/$(BOARD_AML_VENDOR_PATH)/tdk
18TA_SIGN_AUTO_TOOL := $(TDK_PATH)/ta_export/scripts/sign_ta_auto.py
19endif
20
21include $(CLEAR_VARS)
22local_module_path ?= $(TARGET_OUT)/lib/optee_armtz
23LOCAL_MODULE := $(local_module)
24LOCAL_PREBUILT_MODULE_FILE := $(OPTEE_TA_OUT_DIR)/$(LOCAL_MODULE)
25LOCAL_MODULE_PATH := $(local_module_path)
26LOCAL_MODULE_CLASS := EXECUTABLES
27LOCAL_MODULE_TAGS := optional
28
29TA_TMP_DIR := $(subst /,_,$(LOCAL_PATH))
30TA_TMP_FILE := $(OPTEE_TA_OUT_DIR)/$(TA_TMP_DIR)/$(LOCAL_MODULE)
31
32$(LOCAL_PREBUILT_MODULE_FILE): $(TA_TMP_FILE)
33 @mkdir -p $(dir $@)
34ifeq ($(TARGET_ENABLE_TA_SIGN), true)
35ifeq ($(TARGET_ENABLE_TA_ENCRYPT), true)
36 $(TA_SIGN_AUTO_TOOL) --in=$< --out=$@ --encrypt=1
37else
38 $(TA_SIGN_AUTO_TOOL) --in=$< --out=$@ --encrypt=0
39endif
40else #else ifeq ($(TARGET_ENABLE_TA_SIGN), true)
41 cp -uvf $< $@
42endif
43
44$(TA_TMP_FILE): PRIVATE_TA_SRC_DIR := $(LOCAL_PATH)
45$(TA_TMP_FILE): PRIVATE_TA_TMP_FILE := $(TA_TMP_FILE)
46$(TA_TMP_FILE): PRIVATE_TA_TMP_DIR := $(TA_TMP_DIR)
47$(TA_TMP_FILE): FORCE
48 @echo "Start building TA for $(PRIVATE_TA_SRC_DIR) $(PRIVATE_TA_TMP_FILE)..."
49 $(MAKE) -C $(TOP_ROOT_ABS)/$(PRIVATE_TA_SRC_DIR) O=$(TOP_ROOT_ABS)/$(OPTEE_TA_OUT_DIR)/$(PRIVATE_TA_TMP_DIR) \
50 TA_DEV_KIT_DIR=$(TOP_ROOT_ABS)/$(TA_DEV_KIT_DIR) \
51 $(CROSS_COMPILE_LINE)
52 @echo "Finished building TA for $(PRIVATE_TA_SRC_DIR) $(PRIVATE_TA_TMP_FILE)..."
53
54FORCE:
55
56include $(BUILD_PREBUILT)
57
58include $(CLEAR_VARS)
59LOCAL_MODULE := $(local_module_ta_name)
60LOCAL_MODULE_TAGS := optional
61LOCAL_MODULE_CLASS := SHARED_LIBRARIES
62
63LOCAL_REQUIRED_MODULES := $(local_module)
64
65include $(BUILD_PHONY_PACKAGE)
66
67local_module_ta_name :=
68
69