###############################################################################
# HRP Interface Baord [07-0003]                                               #
# Device driver Makefile ver.1.0.0                                            #
#                                                                             #
# 2008/7/21                                                                   #
# Copylight 2008 ZUCO                                                         #
###############################################################################
project := hrpib7
objects :=  I7sFunc.o I7sIOCTL.o
major := 99
permission := 0666
kernel-check := $(filter 2.6%,$(shell uname -r))
PWD := $(shell pwd)

ifdef kernel-check
	driver := $(project).ko
	obj-m := $(project).o
	$(project)-objs := $(objects)
	clean-files := *.o *.ko *.mod.[co] *~
	KERNEL_DIR := /lib/modules/$(shell uname -r)/build
	BUILD_CMD = $(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules
	CLEAN_CMD = $(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
else
	driver := $(project).o
	objs := $(objects)
	CC := gcc
	KERNEL_DIR := /usr/src/linux
	CFLAGS := -D__KERNEL__ -DMODULE -I$(KERNEL_DIR)/include -O -Wall
	BUILD_CMD = $(LD) -r $^ -o $@
	CLEAN_CMD = $(RM) *.o *~
endif

all: $(driver)

$(driver): $(objs)
	$(BUILD_CMD)

clean:
	$(CLEAN_CMD)

#setup device node in /dev
dev:
	$(RM) /dev/$(project)*
	mknod -m $(permission) /dev/$(project)0 c $(major) 0
	mknod -m $(permission) /dev/$(project)1 c $(major) 1
	mknod -m $(permission) /dev/$(project)2 c $(major) 2
	mknod -m $(permission) /dev/$(project)3 c $(major) 3

#install module
insmod:
	insmod $(driver)

#remove module
rmmod:
	rmmod $(project)

#list module
lsmod:
	lsmod
