KERNEL_DIR :=$(srctree)

ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/agent_rpmb/core
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/agent_rpmb/devchip
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/auth
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/core
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/devchip
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/tlogger
ccflags-y += -I$(KERNEL_DIR)/include/linux/huanglong
ccflags-y += -I$(KERNEL_DIR)/include/linux/huanglong/tee
ccflags-y += -I$(KERNEL_DIR)/drivers/huanglong/tee/tee_tz/tzdriver/tzdriver_internal/include
ccflags-y += -DCONFIG_TEE_LOG_ACHIVE_PATH=\"/var/log/tee/last_teemsg\" -DCONFIG_TEELOG

ccflags-y += -fstack-protector-strong

MODNAME := tzdriver

# rpmb

ifneq ($(TARGET_BUILD_VARIANT),user)
	ccflags-y += -DDEF_ENG
endif

$(MODNAME)-objs-$(CONFIG_RPMB_AGENT) += agent_rpmb/core/agent_rpmb.o agent_rpmb/devchip/rpmb_driver.o

#  auth/

$(MODNAME)-objs-$(CONFIG_DEVCHIP_PLATFORM) += devchip/ta_auth.o
$(MODNAME)-objs-$(CONFIG_CLIENT_AUTH) += auth/client_hash_auth.o
$(MODNAME)-objs-$(CONFIG_AUTH_ENHANCE) += auth/security_auth_enhance.o

ifeq ($(findstring y, $(CONFIG_TEECD_AUTH) $(CONFIG_CLIENT_AUTH)), y)
	$(MODNAME)-objs-y += auth/auth_base_impl.o
endif

#  core/

ifneq ($(CONFIG_SOCT_OH_KERNEL),y)
ccflags-y += -DDEVCHIP_CA_AUTH
endif

ifeq ($(CONFIG_SOCT_OH_KERNEL),y)
ccflags-y += -DPLATFORM_OH
endif

$(MODNAME)-objs-$(CONFIG_TEECD_AUTH) += core/teec_daemon_auth.o
$(MODNAME)-objs-y += core/teek_client_api.o
$(MODNAME)-objs-$(CONFIG_DEVCHIP_PLATFORM) += devchip/tz_mem.o
$(MODNAME)-objs-y += core/smc_smp.o \
			core/tc_client_driver.o \
			core/session_manager.o \
			core/mailbox_mempool.o \
			core/teek_app_load.o

$(MODNAME)-objs-y += core/agent.o \
			core/gp_ops.o \
			core/mem.o \
			core/cmdmonitor.o \
			core/tzdebug.o \
			core/tz_spi_notify.o \
			core/tz_pm.o \
			core/tee_compat_check.o \
			core/shared_mem.o \
			core/reserved_mempool.o
# tlogger/

$(MODNAME)-objs-y += tlogger/tlogger.o

$(MODNAME)-objs-$(CONFIG_TEE_TRACE) += tzdriver_internal/tee_trace_event/tee_trace_event.o \
					tzdriver_internal/tee_trace_event/tee_trace_interrupt.o
$(MODNAME)-objs-y += tzdriver_internal/whitelist/agent_allowed_ca.o \
			tzdriver_internal/whitelist/hungtask_list.o

ifeq ($(CONFIG_MNTN_BB),y)
	$(MODNAME)-objs-y += tzdriver_internal/tlogger/log_rdr_cfg.o
else
	$(MODNAME)-objs-y += tlogger/log_pages_cfg.o
endif

# ko_adapt.c

ifeq ($(strip $(CONFIG_TEE_TZ)), m)
	$(MODNAME)-objs-y += ko_adapt.o
	obj-m += $(MODNAME).o
	$(MODNAME)-objs := $($(MODNAME)-objs-y)
else
	obj-$(CONFIG_ITRUSTEE) += $($(MODNAME)-objs-y)
endif

