| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | # |
| 2 | # Copyright (C) 2012 OpenWrt.org |
| 3 | # |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | # |
| 7 | |
| 8 | include $(TOPDIR)/rules.mk |
| 9 | include $(INCLUDE_DIR)/kernel.mk |
| 10 | |
| 11 | PKG_NAME:=optee_app |
| 12 | PKG_VERSION:=1 |
| 13 | PKG_RELEASE:=1 |
| 14 | |
| 15 | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) |
| 16 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) |
| 17 | SVC_SOURCE_DIR:=$(MRVLDIR)/services/optee_app |
| 18 | PKG_SOURCE_DIR:=$(SVC_SOURCE_DIR) $(STAGING_DIR)/usr/include $(STAGING_DIR)/usr/lib |
| 19 | PKG_BUILD_PARALLEL:=0 |
| 20 | |
| b.liu | b17525e | 2025-05-14 17:22:29 +0800 | [diff] [blame] | 21 | APP_LIST:= libsecure_storage |
| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 22 | |
| 23 | include $(INCLUDE_DIR)/package.mk |
| 24 | |
| 25 | define Package/optee_app |
| 26 | CATEGORY:=service |
| 27 | TITLE:=optee application |
| 28 | DEPENDS:=+libpthread +optee_client |
| 29 | DEFAULT:=n |
| 30 | endef |
| 31 | |
| b.liu | b17525e | 2025-05-14 17:22:29 +0800 | [diff] [blame] | 32 | define Package/optee_app/extra_provides |
| 33 | echo "libmbtk_lib.so" |
| 34 | endef |
| 35 | |
| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 36 | define Package/optee_app/config |
| 37 | menu "OPTEE application Configuration" |
| 38 | config HWRANDOM |
| 39 | bool "Enable hardware random TA/CA" |
| 40 | default n |
| 41 | config CIPHER_TEST |
| 42 | bool "Enable Cipher test TA/CA" |
| 43 | default n |
| 44 | config SECURE_STORAGE |
| 45 | bool "Enable secure storage test TA/CA" |
| 46 | default n |
| 47 | config ACIPHER_TEST |
| 48 | bool "Enable ACipher test TA/CA" |
| 49 | config KEY_TEST |
| 50 | bool "Enable key test TA/CA" |
| 51 | endmenu |
| 52 | endef |
| 53 | |
| 54 | ifeq ($(CONFIG_HWRANDOM),y) |
| 55 | APP_LIST := $(APP_LIST)" random" |
| 56 | endif |
| 57 | |
| 58 | ifeq ($(CONFIG_CIPHER_TEST),y) |
| 59 | APP_LIST := $(APP_LIST)" cipher" |
| 60 | endif |
| 61 | |
| 62 | ifeq ($(CONFIG_SECURE_STORAGE),y) |
| 63 | APP_LIST := $(APP_LIST)" secure_storage" |
| 64 | endif |
| 65 | |
| 66 | ifeq ($(CONFIG_ACIPHER_TEST),y) |
| 67 | APP_LIST := $(APP_LIST)" acipher" |
| 68 | endif |
| 69 | |
| 70 | ifeq ($(CONFIG_KEY_TEST),y) |
| 71 | APP_LIST := $(APP_LIST)" keytest" |
| 72 | endif |
| 73 | |
| 74 | define Package/optee_app/description |
| 75 | optee applications |
| 76 | endef |
| 77 | |
| 78 | define Build/Compile |
| 79 | $(MAKE) $(PKG_JOBS) -C $(SVC_SOURCE_DIR) HOST_CROSS_COMPILE="$(TARGET_CROSS)" \ |
| 80 | TA_DEV_KIT_DIR=$(TOPDIR)/package/services/optee_os/export/asr18xx/export-ta_arm32\ |
| 81 | TEEC_EXPORT=$(MRVLDIR)/services/optee_client/out/export/usr PLATFORM=$(ARCH_PROFILE)\ |
| b.liu | b17525e | 2025-05-14 17:22:29 +0800 | [diff] [blame] | 82 | LOG_EXPORT=$(TOPDIR)/mbtk/rootfs \ |
| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 83 | TA_CROSS_COMPILE="$(TARGET_CROSS)" APP_LIST=$(APP_LIST) |
| 84 | endef |
| 85 | |
| 86 | define Build/Clean |
| 87 | $(MAKE) $(PKG_JOBS) -C $(SVC_SOURCE_DIR) \ |
| 88 | CROSS_COMPILE="$(TARGET_CROSS)" \ |
| 89 | TA_DEV_KIT_DIR=$(TOPDIR)/package/services/optee_os/export/asr18xx/export-ta_arm32\ |
| 90 | TEEC_EXPORT=$(MRVLDIR)/services/optee_client/out/export/usr PLATFORM=$(ARCH_PROFILE)\ |
| 91 | APP_LIST=$(APP_LIST) clean |
| 92 | rm -rf $(SVC_SOURCE_DIR)/out |
| 93 | endef |
| 94 | |
| 95 | define Build/InstallDev |
| 96 | endef |
| 97 | |
| 98 | define Package/$(PKG_NAME)/install |
| 99 | $(INSTALL_DIR) $(1)/usr/sbin |
| 100 | $(INSTALL_DIR) $(1)/usr/lib/optee_armtz |
| b.liu | b17525e | 2025-05-14 17:22:29 +0800 | [diff] [blame] | 101 | $(INSTALL_DIR) $(1)/lib |
| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 102 | $(CP) -rf $(SVC_SOURCE_DIR)/out/ca/* $(1)/usr/sbin |
| b.liu | b17525e | 2025-05-14 17:22:29 +0800 | [diff] [blame] | 103 | $(CP) -rf $(SVC_SOURCE_DIR)/out/lib/* $(1)/lib |
| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 104 | find $(SVC_SOURCE_DIR)/out/ta -name "*.ta" | xargs -i $(CP) {} $(1)/usr/lib/optee_armtz |
| 105 | find $(SVC_SOURCE_DIR)/out/ta -name "*.elf" | xargs -i $(CP) {} $(1)/usr/lib/optee_armtz |
| 106 | endef |
| 107 | |
| 108 | $(eval $(call BuildPackage,optee_app)) |