allwinner_a64/android/hardware/aw/optee_client-master/tee-supplicant/Makefile
2018-08-08 17:00:29 +08:00

84 lines
2.1 KiB
Makefile
Executable file

include ../flags.mk
include ../config.mk
OUT_DIR := $(OO)/tee-supplicant
# Emulate RPMB ioctl's
RPMB_EMU := 1
.PHONY: all tee-supplicant clean
all: tee-supplicant
################################################################################
# Teec configuration
################################################################################
PACKAGE_NAME := tee-supplicant
TEES_SRCS := tee_supplicant.c \
teec_ta_load.c \
tee_supp_fs.c \
rpmb.c \
handle.c
ifeq ($(CFG_GP_SOCKETS),y)
TEES_SRCS += tee_socket.c
endif
ifeq ($(RPMB_EMU),1)
TEES_SRCS += sha2.c hmac_sha2.c
endif
ifeq ($(CFG_TA_GPROF_SUPPORT),y)
TEES_SRCS += gprof.c
endif
TEES_SRC_DIR := src
TEES_OBJ_DIR := $(OUT_DIR)
TEES_OBJS := $(patsubst %.c,$(TEES_OBJ_DIR)/%.o, $(TEES_SRCS))
TEES_INCLUDES := ${CURDIR}/../libteec/include \
${CURDIR}/src \
${CURDIR}/../public \
TEES_CFLAGS := $(addprefix -I, $(TEES_INCLUDES)) $(CFLAGS) \
-DDEBUGLEVEL_$(CFG_TEE_SUPP_LOG_LEVEL) \
-DBINARY_PREFIX=\"TEES\" \
-DTEE_FS_PARENT_PATH=\"$(CFG_TEE_FS_PARENT_PATH)\"
ifeq ($(CFG_GP_SOCKETS),y)
TEES_CFLAGS += -DCFG_GP_SOCKETS=1
endif
ifeq ($(RPMB_EMU),1)
TEES_CFLAGS += -DRPMB_EMU=1
endif
ifeq ($(CFG_TA_TEST_PATH),y)
TEES_CFLAGS += -DCFG_TA_TEST_PATH=1
endif
TEES_FILE := $(OUT_DIR)/$(PACKAGE_NAME)
TEES_LDFLAGS := -L$(OUT_DIR)/../libteec -lteec
ifeq ($(CFG_TA_GPROF_SUPPORT),y)
TEES_CFLAGS += -DCFG_TA_GPROF_SUPPORT
endif
TEES_LDFLAGS += -lpthread
# Needed to get clock_gettime() for for glibc versions before 2.17
TEES_LDFLAGS += -lrt
tee-supplicant: $(TEES_FILE)
$(TEES_FILE): $(TEES_OBJS)
@echo " LINK $@"
$(VPREFIX)$(CC) -o $@ $+ $(TEES_LDFLAGS)
@echo ""
$(TEES_OBJ_DIR)/%.o: $(TEES_SRC_DIR)/%.c
$(VPREFIX)mkdir -p $(dir $@)
@echo " CC $<"
$(VPREFIX)$(CC) $(TEES_CFLAGS) $(TEES_CFLAGS_$(notdir $<)) -c $< -o $@
################################################################################
# Cleaning up configuration
################################################################################
clean:
$(RM) $(TEES_OBJS) $(TEES_FILE)
$(call rmdir,$(OUT_DIR))