# Makefile for kerneltime device
#
# FrizN for bases-hacking.org

MODULE=kerneltime_device
obj-m = $(MODULE).o

DEVICE_NAME=$(shell cat $(MODULE).h | grep DEVICE_NAME | cut -d '"' -f2)
MAJOR=$(shell cat $(MODULE).h | grep "define MAJOR_NUM" | cut -d ' ' -f3)
M=$(shell pwd)

all: mod progs

mod:
	make -C /lib/modules/$(shell uname -r)/build/ M=$(M) modules

install_mod: mod
	insmod $(MODULE).ko
	mknod $(DEVICE_NAME) c $(MAJOR) 0

progs: use_kerneltime nullderef_oops nullderef_panic nullderef_func_root nullderef_write_root 

clean_mod:
	rm $(DEVICE_NAME)
	rmmod $(MODULE).ko
	rm .$(DEVICE_NAME)*

clean: clean_mod
	rm *.o
	rm use_kerneltime nullderef_oops nullderef_panic nullderef_func_root nullderef_write_root 
