ifeq ($(CFG_SDK_EXPORT_FLAG),)
    ifneq ($(srctree),)
    KERNEL_DIR := $(srctree)
    SDK_DIR := $(shell cd $(KERNEL_DIR)/../../.. && /bin/pwd)
    else
    SDK_DIR := $(shell cd $(CURDIR)/../../../../../../.. && /bin/pwd)
    endif
endif

include $(SDK_DIR)/build/base.mk

CC := $(KERNEL_TOOLCHAIN)-gcc
AR := $(KERNEL_TOOLCHAIN)-ar
NM := $(KERNEL_TOOLCHAIN)-nm
STRIP := $(KERNEL_TOOLCHAIN)-strip

KERNEL_ROOT := $(KERNEL_BUILDDIR)
EXTRA_CFLAGS += $(SDK_KER_CFLAGS)

ARCH_NAME = xm

#$(ARCH_NAME)_osal-objs = osal.o
$(ARCH_NAME)_common-objs = common.o
#$(ARCH_NAME)_pm-objs = pm.o
$(ARCH_NAME)_tde-objs = tde.o
$(ARCH_NAME)_vgs-objs = vgs.o
$(ARCH_NAME)_region-objs = region.o
$(ARCH_NAME)_isp-objs = isp.o
$(ARCH_NAME)_vpss-objs = vpss.o
$(ARCH_NAME)_vi-objs = vi.o
$(ARCH_NAME)_chnl-objs = chnl.o
$(ARCH_NAME)_vedu-objs = vedu.o
$(ARCH_NAME)_rc-objs = rc.o
$(ARCH_NAME)_jpege-objs = jpege.o
$(ARCH_NAME)_h264e-objs = h264e.o
$(ARCH_NAME)_h265e-objs = h265e.o
$(ARCH_NAME)_venc-objs = venc.o
$(ARCH_NAME)_vo-objs = vo.o
$(ARCH_NAME)_fb-objs = fb.o
$(ARCH_NAME)_cipher_drv-objs = cipher_drv.o
$(ARCH_NAME)_acomm-objs = acomm.o
$(ARCH_NAME)_aio-objs = aio.o
$(ARCH_NAME)_ao-objs = ao.o
$(ARCH_NAME)_ai-objs = ai.o
$(ARCH_NAME)_aenc-objs = aenc.o
$(ARCH_NAME)_adec-objs = adec.o
$(ARCH_NAME)_npu-objs = npu.o
$(ARCH_NAME)_ive-objs = ive.o
#$(ARCH_NAME)_ir-objs = ir.o
#$(ARCH_NAME)lsadc-objs = lsadc.o
#
#ifeq ($(XMEDIA_DRV_BUILDTYPE),y)
#    $(ARCH_NAME)_drv_init-objs = drv_init.o
#endif

#obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_osal.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_common.o
#obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_pm.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_tde.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_vgs.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_region.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_isp.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_vpss.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_vi.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_chnl.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_vedu.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_rc.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_jpege.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_h264e.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_h265e.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_venc.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_vo.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_fb.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_cipher_drv.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_acomm.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_aio.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_ao.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_ai.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_aenc.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_adec.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_npu.o
obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_ive.o
#obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_ir.o
#obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_lsadc.o

#ifeq ($(XMEDIA_DRV_BUILDTYPE),y)
#    obj-$(XMEDIA_DRV_BUILDTYPE) += $(ARCH_NAME)_drv_init.o
#endif


OBJ_DIR:= $(GMP_DIR)/drv/obj_$(OBJ_KERNEL_VERSION)/$(KERNEL_TOOLCHAIN)/$(OBJ_BUILD_TYPE)/$(OBJ_LOG_MODE)

all:
	$(AT)make -C $(KERNEL_ROOT) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLCHAIN)- M=$(OBJ_DIR) modules
	$(AT)rm -rf *.mod *.mod.c *.mod.o *.order *.symvers  .*.cmd .tmp_versions $(ARCH_NAME)*.o

ifneq ($(XMEDIA_DRV_BUILDTYPE),y)
	$(AT)test -d $(SDK_KO_DIR) || mkdir -p $(SDK_KO_DIR)
	$(AT)cp -rf $(OBJ_DIR)/*.ko $(SDK_KO_DIR)/
	$(AT)rm -f $(OBJ_DIR)/*.ko
	$(AT)$(STRIP) --strip-unneeded $(SDK_KO_DIR)/*.ko
endif

clean:
	$(AT)rm -rf *.mod *.mod.c *.mod.o *.mod.d *.order *.symvers *.ko .*.cmd .tmp_versions $(ARCH_NAME)*.o  ./data/
	$(AT)rm -rf $(SDK_KO_DIR)


