mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-02 04:39:01 +00:00
Merges build file structure so that both libteec and optee_supplicant are under the same nuttx-app directory. This better reflects external source repo structrure (optee_client containing both libteec and tee-supplicant) and avoids a case where build of supplicant was attempted before libteec, leading to a missing .zip file (zip file was only downloaded by libteec, but order of builds was not enforced). Signed-off-by: George Poulios <gpoulios@census-labs.com>
88 lines
3 KiB
Makefile
88 lines
3 KiB
Makefile
############################################################################
|
|
# apps/tee/optee_client/Makefile
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
############################################################################
|
|
|
|
include $(APPDIR)/Make.defs
|
|
|
|
OPTEE_CLIENT_VERSION = $(patsubst "%",%,$(strip $(CONFIG_OPTEE_CLIENT_VERSION)))
|
|
OPTEE_CLIENT_URL ?= "https://github.com/OP-TEE/optee_client/archive/refs/tags"
|
|
OPTEE_CLIENT_ZIP = $(OPTEE_CLIENT_VERSION).zip
|
|
OPTEE_CLIENT_UNPACKNAME = optee_client
|
|
UNPACK ?= unzip -q -o
|
|
|
|
DEPPATH += --dep-path $(OPTEE_CLIENT_UNPACKNAME)/libteec/src
|
|
VPATH += $(OPTEE_CLIENT_UNPACKNAME)/libteec/src
|
|
|
|
CSRCS += tee_client_api.c
|
|
CSRCS += teec_trace.c
|
|
|
|
ifneq ($(CONFIG_OPTEE_SUPPLICANT),)
|
|
DEPPATH += --dep-path $(OPTEE_CLIENT_UNPACKNAME)/tee-supplicant/src
|
|
VPATH += $(OPTEE_CLIENT_UNPACKNAME)/tee-supplicant/src
|
|
|
|
PROGNAME += ${CONFIG_OPTEE_SUPPLICANT_PROGNAME}
|
|
PRIORITY += $(CONFIG_OPTEE_SUPPLICANT_PRIORITY)
|
|
STACKSIZE += $(CONFIG_OPTEE_SUPPLICANT_STACKSIZE)
|
|
MODULE += $(CONFIG_OPTEE_SUPPLICANT)
|
|
MAINSRC += tee_supplicant.c
|
|
|
|
CSRCS += handle.c
|
|
CSRCS += hmac_sha2.c
|
|
CSRCS += sha2.c
|
|
CSRCS += sd_notify.c
|
|
CSRCS += teec_ta_load.c
|
|
CSRCS += tee_supp_fs.c
|
|
CSRCS += rpmb.c
|
|
|
|
ifeq ($(CONFIG_GP_SOCKETS),1)
|
|
CSRCS += tee_socket.c
|
|
FLAGS += ${DEFINE_PREFIX}CFG_GP_SOCKETS=1
|
|
endif
|
|
|
|
FLAGS += ${INCDIR_PREFIX}optee_client/tee-supplicant/src
|
|
FLAGS += ${DEFINE_PREFIX}TEEC_LOAD_PATH=\"/bin\"
|
|
FLAGS += ${DEFINE_PREFIX}TEE_FS_PARENT_PATH=\"/data/tee\"
|
|
FLAGS += ${DEFINE_PREFIX}DEBUGLEVEL_$(CONFIG_OPTEE_SUPPLICANT_LOG_LEVEL)
|
|
endif
|
|
|
|
AFLAGS += $(FLAGS)
|
|
CFLAGS += $(FLAGS)
|
|
CXXFLAGS += $(FLAGS)
|
|
|
|
$(OPTEE_CLIENT_ZIP):
|
|
@echo "Downloading: $(OPTEE_CLIENT_URL)/$(OPTEE_CLIENT_ZIP)"
|
|
$(Q) $(call DOWNLOAD,$(OPTEE_CLIENT_URL),$(OPTEE_CLIENT_ZIP))
|
|
|
|
$(OPTEE_CLIENT_UNPACKNAME): $(OPTEE_CLIENT_ZIP)
|
|
@echo "Unpacking: $(OPTEE_CLIENT_ZIP) -> $(OPTEE_CLIENT_UNPACKNAME)"
|
|
$(Q) $(UNPACK) $(OPTEE_CLIENT_ZIP)
|
|
$(Q) mv $(OPTEE_CLIENT_UNPACKNAME)-$(OPTEE_CLIENT_VERSION) $(OPTEE_CLIENT_UNPACKNAME)
|
|
$(Q) echo "Patching $(OPTEE_CLIENT_UNPACKNAME)"
|
|
$(Q) patch -p1 -d $(OPTEE_CLIENT_UNPACKNAME) < 0001-libteec-NuttX.patch
|
|
$(Q) patch -p1 -d $(OPTEE_CLIENT_UNPACKNAME) < 0002-tee-supplicant-port-to-nuttx.patch
|
|
$(Q) touch $(OPTEE_CLIENT_UNPACKNAME)
|
|
|
|
ifeq ($(wildcard $(OPTEE_CLIENT_UNPACKNAME)/.git),)
|
|
context:: $(OPTEE_CLIENT_UNPACKNAME)
|
|
|
|
distclean::
|
|
$(call DELDIR, $(OPTEE_CLIENT_UNPACKNAME))
|
|
$(call DELFILE, $(OPTEE_CLIENT_ZIP))
|
|
endif
|
|
|
|
include $(APPDIR)/Application.mk
|