KERNEL_SOURCE = /lib/modules/`uname -r`/build
OBJ = sym.o base.o scsi_o2sd.o winif.o scsi_base.o scsi_o2media.o 


# the kbuild do not support 'call function' in kbuild Makefile.
# get gcc_version manully.
#GCC_VERSION                     := $(call cc-version)
#O2MEDIA_OBJ = $(shell if [ $(GCC_VERSION) -ge 0300 ] ; then echo "o2media/test.o"; fi ;) 
GCC_MAIN_VERSION = $(shell gcc --version | sed -n -e 's/gcc (GCC) //' -e 's/ .*//' -e 's/\..*//' -e '1p')

O2SD_OBJ = o2sd/o2sd_main.o
O2SD_EXTOBJ = o2sd/ellen/sdio.o o2sd/ellen/sdioif.o
ifeq ($(CONFIG_REGPARM),y)
	O2MEDIA_OBJ = $(shell if [ $(GCC_MAIN_VERSION) -lt 3 ]; then echo "o2media/test_noregparm.o"; else echo "o2media/test.o"; fi )
else
	O2MEDIA_OBJ = o2media/test_noregparm.o
endif
ifeq ($(CONFIG_PRINTK),y)
else
	EXTRA_CFLAGS += -DMPRINTK 
endif

INCLUDE = -I$(KERNEL_SOURCE)/include	\
	-I$(KERNEL_SOURCE)/drivers/scsi	\
	-I$(PWD)

EXTRA_CFLAGS += $(INCLUDE) 
#EXTRA_CFLAGS += -g $(INCLUDE)
obj-m := presidio.o
presidio-objs := $(OBJ) $(O2SD_OBJ) $(O2SD_EXTOBJ) $(O2MEDIA_OBJ)
default:
#	$(MAKE) -C $(KERNEL_SOURCE) M=`pwd`  modules
	$(MAKE) -C $(KERNEL_SOURCE) SUBDIRS=`pwd` KBUILD_VERBOSE=1 modules
#	$(MAKE) -C $(KERNEL_SOURCE) M=`pwd` KBUILD_VERBOSE=1 modules
clean:
	$(MAKE) -C $(KERNEL_SOURCE) SUBDIRS=`pwd` KBUILD_VERBOSE=1 clean
#	$(MAKE) -C $(KERNEL_SOURCE) M=`pwd` clean
modules_install:
#	$(MAKE) -C $(KERNEL_SOURCE) M=`pwd` modules_install
	insmod ./presidio.ko
