KVER		:= $(shell uname -r)
KDIR		?= /lib/modules/$(KVER)/build
PWD		:= $(shell pwd)
CFLAGS		+= -O2 -I/lib/modules/$(KVER)/include

ifneq ($(KERNELRELEASE),)
# call from kernel build system

obj-m := nullderef.o
nullderef-objs := kernel.o

else

default: user modules

user: user.o
	$(CC) $(CFLAGS) -o user user.o

modules:
	$(MAKE) -C $(KDIR) M=$(PWD) modules

endif

clean:
	find . \( -name '*.ko' -o -name '*.o' -o -name '.tmp_versions' -o -name '*~' -o -name '.*.cmd' \
		-o -name '*.mod.c' -o -name '*.tar.bz2' -o -name '*.rej' -o -name '*.orig' -o -name 'user' \)\
		-print | xargs rm -Rf

depend .depend dep:
	$(CC) $(CFLAGS) -M *.c > .depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif
