ifeq ($(CONFIG_GALCORE),y)
ccflags-y   :=  -Idrivers/gpu/galcore/hal/inc \
                -Idrivers/gpu/galcore/hal/kernel \
                -Idrivers/gpu/galcore/arch/unified_reg/hal/kernel \
                -Idrivers/gpu/galcore/hal/user \
                -Idrivers/gpu/galcore/hal/os/linux/kernel \
                -Idrivers/gpu/galcore/hal/os/linux/user

galcore-y   :=  hal/os/linux/kernel/gc_hal_kernel_device.o \
                hal/os/linux/kernel/gc_hal_kernel_driver.o \
                hal/os/linux/kernel/gc_hal_kernel_linux.o \
                hal/os/linux/kernel/gc_hal_kernel_math.o \
                hal/os/linux/kernel/gc_hal_kernel_os.o \
                hal/os/linux/kernel/gc_hal_kernel_sysfs.o \
                hal/os/linux/kernel/gc_hal_kernel_debugfs.o \
                hal/kernel/gc_hal_kernel.o \
                hal/kernel/gc_hal_kernel_command.o \
                hal/kernel/gc_hal_kernel_heap.o \
                hal/kernel/gc_hal_kernel_mmu.o \
                hal/kernel/gc_hal_kernel_video_memory.o \
                arch/unified_reg/hal/kernel/gc_hal_kernel_hardware.o

ifeq ($(CONFIG_GALCORE_USE_3D_VG),y)
galcore-y   +=  hal/kernel/gc_hal_kernel_debug.o \
		hal/kernel/gc_hal_kernel_command.o \
		hal/kernel/gc_hal_kernel_db.o \
		hal/kernel/gc_hal_kernel_event.o \
                arch/unified_reg/hal/kernel/gc_hal_kernel_context.o
else
galcore-y   +=  hal/kernel/gc_hal_kernel_interrupt.o \
                arch/unified_reg/hal/kernel/gc_hal_kernel_hardware_command.o
endif

ifeq ($(CONFIG_GALCORE_DEBUG),y)
ccflags-y += -DDBG=1 -DDEBUG=1 -D_DEBUG=1
else
ccflags-y += -DDBG=0
endif

ifeq ($(CONFIG_GALCORE_NO_DMA_COHERENT),y)
ccflags-y += -DNO_DMA_COHERENT=1
endif

ifeq ($(CONFIG_GALCORE_ENABLE_ARM_L2_CACHE),y)
ccflags-y += -DENABLE_ARM_L2_CACHE=1
else
ccflags-y += -DENABLE_ARM_L2_CACHE=0
endif

ifeq ($(CONFIG_GALCORE_PLATFORM_GPU),y)
ccflags-y += -DUSE_PLATFORM_DRIVER=1
else
ccflags-y += -DUSE_PLATFORM_DRIVER=0
endif

ifeq ($(CONFIG_GALCORE_USE_PROFILER),y)
ccflags-y += -DVIVANTE_PROFILER=1
else
ccflags-y += -DVIVANTE_PROFILER=0
endif

ifeq ($(CONFIG_GALCORE_ENABLE_GPU_CLOCK_BY_DRIVER),y)
ccflags-y += -DENABLE_GPU_CLOCK_BY_DRIVER=1
else
ccflags-y += -DENABLE_GPU_CLOCK_BY_DRIVER=0
endif

ifeq ($(CONFIG_GALCORE_USE_NEW_LINUX_SIGNAL),y)
ccflags-y += -DUSE_NEW_LINUX_SIGNAL=1
else
ccflags-y += -DUSE_NEW_LINUX_SIGNAL=0
endif

ifeq ($(CONFIG_GALCORE_NO_USER_DIRECT_ACCESS_FROM_KERNEL),y)
ccflags-y += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=1
else
ccflags-y += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=0
endif

ifeq ($(CONFIG_GALCORE_FORCE_ALL_VIDEO_MEMORY_CACHED), 1)
ccflags-y += -DgcdPAGED_MEMORY_CACHEABLE=1
else
ccflags-y += -DgcdPAGED_MEMORY_CACHEABLE=0
endif

ifeq ($(CONFIG_GALCORE_NONPAGED_MEMORY_CACHEABLE), 1)
ccflags-y += -DgcdNONPAGED_MEMORY_CACHEABLE=1
else
ccflags-y += -DgcdNONPAGED_MEMORY_CACHEABLE=0
endif

ifeq ($(CONFIG_GALCORE_NONPAGED_MEMORY_BUFFERABLE), 1)
ccflags-y += -DgcdNONPAGED_MEMORY_BUFFERABLE=1
else
ccflags-y += -DgcdNONPAGED_MEMORY_BUFFERABLE=0
endif

ifeq ($(CONFIG_GALCORE_CACHE_FUNCTION_UNIMPLEMENTED), 1)
ccflags-y += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=1
else
ccflags-y += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=0
endif

ifeq ($(CONFIG_SMP), y)
ccflags-y += -DgcdSMP=1
else
ccflags-y += -DgcdSMP=0
endif

ifeq ($(VIVANTE_NO_3D),1)
ccflags-y += -DVIVANTE_NO_3D
endif

ifeq ($(CONFIG_GALCORE_ENABLE_OUTER_CACHE_PATCH), 1)
ccflags-y += -DgcdENABLE_OUTER_CACHE_PATCH=1
else
ccflags-y += -DgcdENABLE_OUTER_CACHE_PATCH=0
endif

obj-$(CONFIG_GALCORE)        += galcore.o
endif
