#===============================================================================
# export variables
#===============================================================================
ifneq ($(CONFIG_SOCT_KMOD_CFLAGS),)
ccflags-y += $(CONFIG_SOCT_KMOD_CFLAGS)
endif

#===============================================================================
# export variables  arm64 or arm
#===============================================================================
########tmp value###############################
ifeq ($(CONFIG_SOCT_CPU_ARCH),arm)
ccflags-y += -DSOCT_VFMW_32BIT
endif

# local variables
#===============================================================================
$(warning $(CURDIR))
$(warning $(abspath $(CURDIR)))
$(warning $(CONFIG_SOCT_CHIP_TYPE))
$(warning $(CONFIG_SOCT_CHIP_REVERSION))
$(warning $(CONFIG_SOCT_TEE_SUPPORT))

export VFMW_DIR := drivers/drv/vfmw/vfmw_v6.2
export VFMW_KEY_DIR := $(VFMW_DIR)/../vfmw_key/vfmw_v6.2
ccflags-y += -Idrivers/drv/ext_inc/dftevent \
             -Idrivers/drv/ioctl_inc/generic \
             -Idrivers/drv/ioctl_inc/common \
             -Idrivers/drv/ioctl_inc/ssm \
             -Idrivers/drv/ioctl_inc/i2c \
             -Idrivers/drv/ioctl_inc/video \
             -Idrivers/drv/ext_inc/base \
             -Idrivers/drv/ext_inc/osal \
             -Idrivers/drv/ext_inc/common \
             -Idrivers/drv/ext_inc/ssm \
             -Idrivers/drv/ext_inc/mailbox \
             -Idrivers/drv/ext_inc/i2c \
		     -Idrivers/drv/common/include \
		     -Iinclude/linux/huanglong

ifeq ($(CONFIG_SOCT_TEE_SUPPORT),y)
VFMW_SEC_SUPPORT := y
ccflags-y += -DVFMW_SEC_SUPPORT
ccflags-y += -Iinclude/linux/huanglong/tee
endif

ifeq ($(CONFIG_ARCH_EMEISWORD),y)
VFMW_PC_SUPPORT := y
ccflags-y += -DVFMW_PC_SUPPORT
endif

################################################################################################
#    PRODUCT
################################################################################################
export VFMW_INC_DIR = $(VFMW_DIR)
VFMW_SRC_DIR = ../..
VFMW_KEY_SRC_DIR = $(VFMW_SRC_DIR)/../vfmw_key/vfmw_v6.2

ifneq ($(findstring $(CONFIG_SOCT_CHIP_TYPE), "wudangstick", "kongtongv100", "shaolingun", "hengshanv200"),)
include $(VFMW_DIR)/product/wudangstick/config/vfmw_master_entry.mk
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_TYPE), "shaolinspear"),)
include $(VFMW_DIR)/product/shaolinspear/config/vfmw_master_entry.mk
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_TYPE), "shaolinaxe"),)
include $(VFMW_DIR)/product/shaolinaxe/linux_cfg/vfmw_make.cfg
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_TYPE), "shaolinknive"),)
include $(VFMW_DIR)/product/shaolinknive/linux_cfg/vfmw_make.cfg
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_REVERSION), "shaolinsword_b"),)
include $(VFMW_DIR)/product/shaolinknive/linux_cfg/vfmw_make.cfg
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_TYPE), "shaolinknive"),)
VFMW_CFLAGS += -DLIMIT_CLOCK_FREQUENCY
endif

ifneq ($(findstring $(CONFIG_SOCT_CHIP_REVERSION), "hi3751v811_c"),)
include $(VFMW_DIR)/product/hi3751v811/linux_cfg/vfmw_make.cfg
endif

ifeq ($(VFMW_MDC_SUPPORT),y)
ifeq ($(VFMW_SEC_SUPPORT),y)
MDC_BIN_PATH := \"vmdc_tee.dat\"
else
MDC_BIN_PATH := \"vmdc_ree.dat\"
endif
VFMW_CFLAGS += -DMDC_BIN_PATH=$(MDC_BIN_PATH)
endif

$(warning vfmw: $(VFMW_MDC_SUPPORT))
$(warning vfmw: $(VFMW_SEC_SUPPORT))
$(warning vfmw: $(MDC_BIN_PATH))

ccflags-y += $(VFMW_CFLAGS)
ccflags-y += -fno-pic
ccflags-y += -fstack-protector-all
ccflags-y += -fno-strict-aliasing
ccflags-y += -Werror=implicit-function-declaration -Wextra

MODNAME := soc_vfmw

ifeq ($(CONFIG_SOCT_DRV_BUILDIN),y)
obj-y += $(MODNAME).o
else
obj-m += $(MODNAME).o
endif

$(MODNAME)-objs-y := $(VFMW_SRC:%.c=%.o)
$(MODNAME)-objs := $($(MODNAME)-objs-y)

#===============================================================================
#   rules
#===============================================================================
