1################################################################################ 2# Android optee-client, libckteec and optee-supplicant makefile # 3################################################################################ 4LOCAL_PATH := $(call my-dir) 5 6# 3 (debug) is too noisy 7CFG_TEE_CLIENT_LOG_LEVEL ?= 2 8CFG_TEE_SUPP_LOG_LEVEL ?= 2 9 10# Define Android-specific configuration before including config.mk 11CFG_TEE_CLIENT_LOAD_PATH ?= /vendor/lib 12TEEC_TEST_LOAD_PATH ?= /data/vendor/tee 13CFG_TEE_FS_PARENT_PATH ?= /data/vendor/tee 14CFG_TEE_SUPP_PLUGINS ?= y 15ifneq ($(strip $($(combo_2nd_arch_prefix)TARGET_TOOLS_PREFIX)),) 16CFG_TEE_PLUGIN_LOAD_PATH ?= /vendor/lib64/tee-supplicant/plugins/ 17else 18CFG_TEE_PLUGIN_LOAD_PATH ?= /vendor/lib/tee-supplicant/plugins/ 19endif 20 21$(info CFG_TEE_PLUGIN_LOAD_PATH = ${CFG_TEE_PLUGIN_LOAD_PATH}) 22 23 24################################################################################ 25# Include optee-client common config and flags # 26################################################################################ 27include $(LOCAL_PATH)/config.mk 28include $(LOCAL_PATH)/android_flags.mk 29 30optee_CFLAGS = $(CFLAGS) 31 32################################################################################ 33# Build libteec.so - TEE (Trusted Execution Environment) shared library # 34################################################################################ 35include $(CLEAR_VARS) 36LOCAL_CFLAGS += $(optee_CFLAGS) 37 38ifneq ($(CFG_TEE_CLIENT_LOG_FILE),) 39LOCAL_CFLAGS += -DTEEC_LOG_FILE=\"$(CFG_TEE_CLIENT_LOG_FILE)\" 40endif 41 42LOCAL_CFLAGS += -DDEBUGLEVEL_$(CFG_TEE_CLIENT_LOG_LEVEL) 43LOCAL_CFLAGS += -DBINARY_PREFIX=\"TEEC\" 44 45LOCAL_SRC_FILES := libteec/src/tee_client_api.c \ 46 libteec/src/teec_trace.c 47ifeq ($(CFG_TEE_BENCHMARK),y) 48LOCAL_CFLAGS += -DCFG_TEE_BENCHMARK 49LOCAL_SRC_FILES += teec_benchmark.c 50endif 51 52LOCAL_C_INCLUDES := $(LOCAL_PATH)/public \ 53 $(LOCAL_PATH)/libteec/include \ 54 55LOCAL_PRELINK_MODULE := false 56LOCAL_MODULE := libteec 57 58LOCAL_MODULE_TAGS := optional 59LOCAL_VENDOR_MODULE := true 60 61# Build the 32-bit and 64-bit versions. 62LOCAL_MULTILIB := both 63LOCAL_MODULE_TARGET_ARCH := arm arm64 64 65LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/public 66 67include $(BUILD_SHARED_LIBRARY) 68 69################################################################################ 70# Build libckteec.so # 71################################################################################ 72include $(CLEAR_VARS) 73 74LOCAL_CFLAGS += $(optee_CFLAGS) 75 76LOCAL_SRC_FILES := libckteec/src/pkcs11_api.c \ 77 libckteec/src/ck_debug.c \ 78 libckteec/src/ck_helpers.c \ 79 libckteec/src/invoke_ta.c \ 80 libckteec/src/pkcs11_processing.c \ 81 libckteec/src/pkcs11_token.c \ 82 libckteec/src/serializer.c \ 83 libckteec/src/serialize_ck.c 84 85LOCAL_C_INCLUDES := $(LOCAL_PATH)/public \ 86 $(LOCAL_PATH)/libckteec/include 87 88LOCAL_SHARED_LIBRARIES := libteec 89 90LOCAL_PRELINK_MODULE := false 91LOCAL_MODULE := libckteec 92 93LOCAL_MODULE_TAGS := optional 94LOCAL_VENDOR_MODULE := true 95 96# Build the 32-bit and 64-bit versions. 97LOCAL_MULTILIB := both 98LOCAL_MODULE_TARGET_ARCH := arm arm64 99 100LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/libckteec/include 101 102include $(BUILD_SHARED_LIBRARY) 103 104################################################################################ 105# Build TEE Supplicant # 106################################################################################ 107include $(LOCAL_PATH)/tee-supplicant/tee_supplicant_android.mk 108