ifeq ($(TARGET_TYPE), ascend610Lite)
	MODULE_NAME = asdrv_dms_v3
else
	MODULE_NAME = asdrv_dms
endif

ifeq ($(DAVINCI_HIAI_DKMS),y)
	DRIVER_SOURCE_DIR := $(HIAI_DKMS_DIR)
	EXTRA_CFLAGS += -I$(HIAI_DKMS_DIR)/kernel_adapt/include/
else
	DRIVER_SOURCE_DIR := $(TOP_DIR)/drivers/ai_sdk/arc/linux/kernel_space/src
	EXTRA_CFLAGS += -I$(TOP_DIR)/driver/driver/src/sdk_driver/kernel_adapt/include/
endif

DRIVER_MODULE_DEVMNG_DIR := $(DRIVER_SOURCE_DIR)/dms/devmng

include $(FEATURE_MK_PATH)
EXTRA_CFLAGS += $(CONFIG_DEFINES)

EXTRA_CFLAGS += -DCFG_FEATURE_MEMALLOC_MODULE_TYPE=3
EXTRA_CFLAGS += -DCFG_FEATURE_MEMALLOC_SUBMODULE_TYPE=0
ifeq ($(ASCEND910_93_EX), TRUE)
	EXTRA_CFLAGS += -DASCEND910_93_EX
endif
ifeq ($(ENABLE_BUILD_PRODUCT), TRUE)
	EXTRA_CFLAGS += -DENABLE_BUILD_PRODUCT
endif
ifeq ($(TOP_DIR),)
	ifeq ($(Driver_Install_Mode), vnpu_guest)
		ifneq ($(filter $(TARGET_CHIP_ID), hi1980b hi1980d),)
			obj-m += asdrv_dms.o
			asdrv_dms-y += dms_module.o
		else
			obj-m += asdrv_vdms.o
		endif
	else
		obj-m += asdrv_dms.o
		asdrv_dms-y += dms_module.o
	endif

	include $(DRIVER_SOURCE_DIR)/dms/devmng/devmng.mk
else
	ifeq ($(PRODUCT_SIDE), host)
		obj-m += asdrv_dms.o
		asdrv_dms-y += dms_module.o

		ifneq ($(filter $(PRODUCT), ascend910 ascend310p),)
			obj-m += asdrv_vdms.o
		endif

		include $(DRIVER_SOURCE_DIR)/dms/devmng/devmng.mk
	else
		obj-m += $(MODULE_NAME).o
		${MODULE_NAME}-y += dms_module.o

		include $(DRIVER_SOURCE_DIR)/dms/devmng/devmng.mk
		include $(DRIVER_SOURCE_DIR)/dms/soc_misc/soc_misc.mk
	endif
endif

ifeq ($(use_hitest),kernel_true)
    export HITESTCC := $(CC)
    export HITESTLD := $(LD)
    CC = hitest_gcc
    LD = hitest_ld
endif