# Release version Linux Kernel Module makefile
# make xpu_driver.ko, no debug message
# authors: hanjinchen@baidu.com

obj-m        := xpu_driver.o
xpu_driver-y := $(patsubst $(src)/%.c, %.o, $(wildcard $(src)/*.c))

CC         ?= gcc
PWD        := $(shell pwd -P)
KERNELDIR  ?= /usr/src/linux-headers-$(shell uname -r)

ifeq ($(TARGET_PLATFORM), pld)
	ccflags-y  += -DPLATFORM_PLD
else ifeq ($(TARGET_PLATFORM), zebu)
	ccflags-y  += -DPLATFORM_ZEBU
else ifeq ($(TARGET_PLATFORM), kunlun)
	ccflags-y  += -DPLATFORM_KUNLUN
else
	ccflags-y  += -DPLATFORM_KUNLUN
endif

ccflags-y   +=  -I$(src) -I$(src)/../include
#ccflags-y   +=  -DXPURT_VERSION_MAJOR=$(__XPURT_VERSION_MAJOR)
#ccflags-y   +=  -DXPURT_VERSION_MINOR=$(__XPURT_VERSION_MINOR)
#ccflags-y   +=  -DXPURT_COMMIT=\"$(__XPURT_COMIT)\"
#ccflags-y  += -DDEBUG_XEVENT
#ccflags-y  += -DDEBUG_XCG

ifdef XPU_DEBUG_DRIVER
	ccflags-y   +=  -DDEBUG_DRIVER
endif

ifdef XPU_CRASH_DRIVER
	ccflags-y   +=  -DCRASH_DRIVER
endif

ifdef LOG_LEVEL
	ccflags-y   += -DLOG_LEVEL=$(LOG_LEVEL)
endif

ifdef XPU_PD0_ONLY
	ccflags-y   +=  -DPD0_ONLY
endif

default:
	@echo "CC=" $(CC)
	@echo "ccflags=" $(ccflags-y)
	CC=$(CC) $(MAKE) -C $(KERNELDIR) M=$(PWD) -Werror modules

clean:
	rm -f *.ko *.mod.c *.mod.o *.order *.symvers *.unsigned *.ur-safe
	rm -f *.o .*cmd
	rm -rf .tmp_versions
