OS_KERNEL_DIR	= os
HAL_KERNEL_DIR	= hal
ARCH_KERNEL_DIR	= arch

# sources
obj-y += $(OS_KERNEL_DIR)/gc_hal_kernel_device.o \
         $(OS_KERNEL_DIR)/gc_hal_kernel_driver.o \
         $(OS_KERNEL_DIR)/gc_hal_kernel_linux.o \
         $(OS_KERNEL_DIR)/gc_hal_kernel_math.o \
         $(OS_KERNEL_DIR)/gc_hal_kernel_os.o \
         $(OS_KERNEL_DIR)/gc_hal_kernel_debugfs.o

obj-y += $(HAL_KERNEL_DIR)/gc_hal_kernel.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_command.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_db.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_debug.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_event.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_heap.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_mmu.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_video_memory.o \
         $(HAL_KERNEL_DIR)/gc_hal_kernel_power.o

obj-y += $(ARCH_KERNEL_DIR)/gc_hal_kernel_context.o \
         $(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware.o

EXTRA_CFLAGS += -Werror
EXTRA_CFLAGS += -DLINUX -DDRIVER

EXTRA_CFLAGS += -DCW_DEBUG_PRINT=1

DEBUG = 0
ifeq ($(DEBUG), 1)
	EXTRA_CFLAGS += -DDBG=1 -DDEBUG -D_DEBUG
else
	EXTRA_CFLAGS += -DDBG=0
endif

# options
EXTRA_CFLAGS += -DNO_DMA_COHERENT
EXTRA_CFLAGS += -DUSE_PLATFORM_DRIVER=0
EXTRA_CFLAGS += -DENABLE_GPU_CLOCK_BY_DRIVER=0
EXTRA_CFLAGS += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=1
EXTRA_CFLAGS += -DgcdVIRTUAL_COMMAND_BUFFER=1
EXTRA_CFLAGS += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=0
ifdef CONFIG_SMP
EXTRA_CFLAGS += -DgcdSMP=1
else
EXTRA_CFLAGS += -DgcdSMP=0
endif
EXTRA_CFLAGS += -DgcdENABLE_OUTER_CACHE_PATCH=1
EXTRA_CFLAGS += -DgcdSYNC=0

# headers
EXTRA_CFLAGS += -I$(src)/inc/
EXTRA_CFLAGS += -I$(src)/inc/hal/
EXTRA_CFLAGS += -I$(src)/inc/os/
EXTRA_CFLAGS += -I$(src)/inc/arch/
EXTRA_CFLAGS += -I$(src)/../
