obj-$(CONFIG_GPU_MOORE_THREADS) += mtgpu.o

mtgpu-objs += src/common/os-interface.o \
	src/common/os-interface-drm.o \
	src/mtgpu/mtgpu_drv.o \
	src/mtgpu/mtgpu_module_param.o \
	src/mtgpu/drm_compatibility.o \
	src/mtgpu/mtgpu_drm_dsc.o \
	src/mtgpu/mtgpu_drm_dp.o \
	src/mtgpu/mtgpu_drm_dispc.o \
	src/mtgpu/mtgpu_drm_atomic.o \
	src/mtgpu/mtgpu_drm_utils.o \
	src/mtgpu/mtgpu_drm_drv.o \
	src/mtgpu/mtgpu_drm_dummy_connector.o \
	src/mtgpu/mtgpu_drm_dummy_crtc.o \
	src/mtgpu/mtgpu_drm_gem.o \
	src/mtgpu/mtgpu_drm_hdmi.o \
	src/mtgpu/mtgpu_drm_debugfs.o \
	src/mtgpu/phy-mthreads-dp.o \
	src/mtgpu/p2pdma.o \
	src/mtgpu/mtgpu_ipc_tty.o \
	src/mtgpu/mtgpu_fec_dbg.o \
	src/mtvpu/mtvpu_api.o \
	src/mtvpu/mtvpu_drv.o \
	src/mtvpu/mtvpu_gem.o \
	src/pvr/error_mapping.o \
	src/pvr/interrupt_support.o \
	src/pvr/module_common.o \
	src/pvr/osfunc.o \
	src/pvr/pci_support.o \
	src/pvr/physmem_osmem_linux.o \
	src/pvr/pmr_os.o \
	src/pvr/pvr_buffer_sync.o \
	src/pvr/pvr_counting_timeline.o \
	src/pvr/pvr_debug.o \
	src/pvr/pvr_debugfs.o \
	src/pvr/pvr_drm.o \
	src/pvr/pvr_fence.o \
	src/pvr/pvr_gputrace.o \
	src/pvr/pvr_platform_drv.o \
	src/pvr/pvr_sw_fence.o \
	src/pvr/pvr_sync_file.o \
	src/pvr/pvr_sync_ioctl_common.o \
	src/pvr/pvr_sync_ioctl_drm.o \
	src/pvr/trace_events.o \
	src/pvr/pvr_dvfs_device.o \
	objs/$(ARCH)/mtgpu_core.o

# build for audio
mtgpu-objs += \
	src/mtsnd/eld.o \
	src/mtsnd/mtsnd_codec.o \
	src/mtsnd/mtsnd_drv.o \
	src/mtsnd/mtsnd_pcm.o

mtgpu-$(CONFIG_RISCV) += src/pvr/osfunc_riscv.o
mtgpu-$(CONFIG_ARM) += src/pvr/osfunc_arm.o
mtgpu-$(CONFIG_ARM64) += src/pvr/osfunc_arm64.o
mtgpu-$(CONFIG_LOONGARCH) += src/pvr/osfunc_loongarch.o \
	src/mtgpu/dmi_loongarch.o 
mtgpu-$(CONFIG_X86) += src/pvr/osfunc_x86.o

ccflags-y += -include $(srctree)/$(src)/inc/config_kernel.h \
	-include linux/version.h \
	-include conftest.h \
	-I$(srctree)/$(src)/inc \
	-I$(srctree)/$(src)/inc/pvr \
	-I$(srctree)/$(src)/inc/pvr/generated \
	-I$(srctree)/$(src)/inc/pvr/hwdefs \
	-I$(srctree)/$(src)/inc/pvr/hwdefs/km \
	-I$(srctree)/$(src)/inc/pvr/include \
	-I$(srctree)/$(src)/inc/pvr/include/powervr \
	-I$(srctree)/$(src)/inc/pvr/services \
	-I$(srctree)/$(src)/inc/common \
	-I$(srctree)/$(src)/inc/mtgpu \
	-I$(srctree)/$(src)/inc/mtgpu-next \
	-I$(srctree)/$(src)/inc/shared_include/linux/uapi/drm \
	-I$(srctree)/$(src)/inc/shared_include/fwif \
	-I$(srctree)/$(src)/inc/mtgpu/vgpu \
	-I$(srctree)/$(src)/inc/mtgpu/ion \
	-I$(srctree)/$(src)/inc/mtvpu \
	-I$(srctree)/$(src)/inc/mtvpu/linux \
	-I$(srctree)/$(src)/inc/mtvpu/linux/helper \
	-I$(srctree)/$(src)/inc/mtsnd \
	-I$(srctree)/$(src)/inc/imgtec

%.o: %.o.hex
	xxd -r $< $@
