#
# The following definition enables persistent module information to be used
# for initialisation of module symbols.

CFLAGS = -O6 -pipe -fomit-frame-pointer -Wall $(PERSIST)
#LDFLAGS = -ggdb
LDFLAGS = -N
MODCFLAGS := $(CFLAGS) -DMODULE -D__KERNEL__ -DLINUX

# If block device 42 is in use, change the definition below:
HW_MAJOR=42

drv_hello.o:	drv_hello.c  /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) -c drv_hello.c 

/dev/hw:
	if [ ! -c /dev/hw ]; then mknod /dev/hw c $(HW_MAJOR) 0;fi

test: $(PROGS) drv_hello.o /dev/hw
	@echo Installing drv_hello.o with insmod
	./insmod drv_hello.o major=$(HW_MAJOR)
	@echo This is the output from lsmod
	./lsmod
	@echo You should now see 5 lines of the greeting:
	head -5 /dev/hw
	@echo Removing drv_hello with rmmod
	./rmmod drv_hello
	@echo It is gone...
	./lsmod

