obj-m   += drv_dvpp_cmdlist.o

drv_dvpp_cmdlist-objs := dvpp_cmdlist_init.o \
                         decoder/dvpp_decoder.o \
                         decoder/tlv/dvpp_tlv_decoder.o \
                         decoder/vpu/dvpp_vpu_decoder.o \
                         cmdlist/dvpp_cmdlist.o \
                         cmdlist/vpc/pipeline/pipeline_module.o \
                         cmdlist/vpc/pipeline/pipeline_top.o \
                         cmdlist/vpc/vpc_cmdlist.o \
                         cmdlist/vpc/drv/drv_vpc_comm.o \
                         reg/vpc/milan/vpc_reg.o \
                         cmdlist/jpegd/drv/milan/drv_jpegd_comm.o \
                         cmdlist/jpegd/jpegd_cmdlist.o \
                         cmdlist/jpegd/drv/drv_jpegd.o \
                         proc/dvpp_cmdlist_proc.o \
                         context/dvpp_cmdlist_context.o \
                         base/dvpp_cmdlist_util.o \
                         cmdlist/jpegd/drv/drv_jpegd.o \
                         cmdlist/jpege/drv/drv_jpege_comm.o \
                         cmdlist/jpege/jpege_cmdlist.o \
                         cmdlist/jpege/drv/milan/drv_jpege.o \
                         main/comm/dvpp_sqe_update_comm.o \
                         main/comm/dvpp_sqe_para_check.o \
                         memory/args_mem_pool.o \
                         memory/mem_allocater.o \
                         memory/dvpp_mem_allocater_comm.o \
                         memory/dvpp_mem_allocater_args.o \
                         fops/dvpp_cmdlist_ioctl.o \
                         cmdlist/vpc/pipeline/pipeline_top.o

drv_dvpp_cmdlist-objs += main/host/dvpp_sqe_update_host.o
drv_dvpp_cmdlist-objs += main/host/dvpp_sqe_update_phy.o
drv_dvpp_cmdlist-objs += main/host/mem_ctrl/dvpp_dma_mem_ctrl.o
drv_dvpp_cmdlist-objs += main/host/mem_ctrl/dvpp_svm_mem_ctrl.o
drv_dvpp_cmdlist-objs += main/host/mem_ctrl/dvpp_share_mem_ctrl.o
drv_dvpp_cmdlist-objs += dvpp_pcie_init.o
drv_dvpp_cmdlist-objs += memory/dvpp_mem_allocater_comm_host.o
drv_dvpp_cmdlist-objs += memory/dvpp_mem_allocater_dma.o
drv_dvpp_cmdlist-objs += memory/dma_mem_pool.o


EXTRA_CFLAGS += -DRUN_MODE_ONLINE

EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/kernel_adapt/include
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/dev_inc_open/inc
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/svmdrv/common
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/dev_inc/inc
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/vascend_drv_stub
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/virtmng/vmng_host
EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/kernel_adapt/include

EXTRA_CFLAGS += -Wno-error=incompatible-pointer-types
EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -fstack-protector-all
EXTRA_CFLAGS += -fno-common
EXTRA_CFLAGS += -fstrong-eval-order
EXTRA_CFLAGS += -fsigned-char
EXTRA_CFLAGS += -pipe
EXTRA_CFLAGS += -O2
EXTRA_CFLAGS += -Wtrampolines
EXTRA_CFLAGS += -Wswitch-default
EXTRA_CFLAGS += -Wvla
EXTRA_CFLAGS += -Wextra
EXTRA_CFLAGS += -Wformat=2
EXTRA_CFLAGS += -Wfloat-equal
EXTRA_CFLAGS += -Wdate-time
EXTRA_CFLAGS += -Wshadow
EXTRA_CFLAGS += -Wunused
EXTRA_CFLAGS += -Wstrict-prototypes
EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)

EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/libc_sec/include \
                -I$(HIAI_DKMS_DIR)/ts_agent/inc \
                -I$(HIAI_DKMS_DIR)/inc/driver

EXTRA_CFLAGS += -I$(LOCAL_PATH)/main/host
EXTRA_CFLAGS += -I$(LOCAL_PATH)/main/host/mem_ctrl

EXTRA_CFLAGS += -I$(LOCAL_PATH)/reg/vpc/milan \
                -I$(LOCAL_PATH)/reg/jpegd/milan \
                -I$(LOCAL_PATH)/reg/jpege/milan \
                -I$(LOCAL_PATH)/cmdlist/vpc/pipeline \
                -I$(LOCAL_PATH)/main/comm \
                -I$(LOCAL_PATH)/main/inc \
                -I$(LOCAL_PATH)/decoder \
                -I$(LOCAL_PATH)/decoder/tlv \
                -I$(LOCAL_PATH)/decoder/vpu \
                -I$(LOCAL_PATH)/decoder/type \
                -I$(LOCAL_PATH)/base \
                -I$(LOCAL_PATH)/cmdlist \
                -I$(LOCAL_PATH)/cmdlist/vpc \
                -I$(LOCAL_PATH)/cmdlist/vpc/drv \
                -I$(LOCAL_PATH)/cmdlist/jpegd \
                -I$(LOCAL_PATH)/cmdlist/jpegd/drv \
                -I$(LOCAL_PATH)/cmdlist/jpegd/drv/milan \
                -I$(LOCAL_PATH)/cmdlist/jpege \
                -I$(LOCAL_PATH)/cmdlist/jpege/drv \
                -I$(LOCAL_PATH)/cmdlist/jpege/drv/milan \
                -I$(LOCAL_PATH)/fops \
                -I$(LOCAL_PATH)/proc \
                -I$(LOCAL_PATH)/context \
                -I$(LOCAL_PATH)/memory \
                -I$(LOCAL_PATH)/vmng \
                -I$(HIAI_DKMS_DIR)/dvpp_cmdlist \
                -I$(HIAI_DKMS_DIR)/dvpp_cmdlist/vpc_pipeline

ifeq ($(TARGET_CHIP_ID), hi1910b)
drv_dvpp_cmdlist-objs += cmdlist/vpc/drv/mlv1r3/drv_vpc_mlv1r3.o
EXTRA_CFLAGS += -I$(LOCAL_PATH)/cmdlist/vpc/drv/mlv1r3
endif

ifeq ($(TARGET_CHIP_ID), hi1980b)
drv_dvpp_cmdlist-objs += vmng/dvpp_vcm_host.o
drv_dvpp_cmdlist-objs += vmng/dvpp_vmng.o
drv_dvpp_cmdlist-objs += main/host/dvpp_sqe_update_vir.o
drv_dvpp_cmdlist-objs += main/host/mem_ctrl/dvpp_share_mem_ctrl.o
drv_dvpp_cmdlist-objs += cmdlist/vpc/drv/mlv1r1/drv_vpc_mlv1r1.o
EXTRA_CFLAGS += -I$(LOCAL_PATH)/cmdlist/vpc/drv/mlv1r1
EXTRA_CFLAGS += -DSUPPORT_VIR_MACH
endif

ifeq ($(ENABLE_ASAN),true)
    EXTRA_CFLAGS += -DCFG_ENABLE_ASAN
endif
