diff --git a/src/templates/c/kernel_module/Makefile.tmpl b/src/templates/c/kernel_module/Makefile.tmpl index 2e71ea3..4cb6f3d 100644 --- a/src/templates/c/kernel_module/Makefile.tmpl +++ b/src/templates/c/kernel_module/Makefile.tmpl @@ -1,12 +1,39 @@ -# If KERNELRELEASE is defined, we've been invoked from the -# kernel build system and can use its language. -ifneq ($(KERNELRELEASE),) - obj-m := hello.o -# Otherwise we were called directly from the command -# line; invoke the kernel build system. +# Comment/uncomment the following line to disable/enable debugging +#DEBUG = y + +# Add your debugging flag (or not) to CFLAGS +ifeq ($(DEBUG),y) + DEBFLAGS = -O -g # "-O" is needed to expand inlines else - KERNELDIR ?= /lib/modules/$(shell uname -r)/build - PWD := $(shell pwd) -default: - $(MAKE) -C $(KERNELDIR) M=$(PWD) modules + DEBFLAGS = -O2 +endif + +CFLAGS += $(DEBFLAGS) -I$(LDDINCDIR) + +ifneq ($(KERNELRELEASE),) +# call from kernel build system + +obj-m := ::unixname::.o + +else + +KERNELDIR ?= /lib/modules/$(shell uname -r)/build +PWD := $(shell pwd) + +default: + $(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINCDIR=$(PWD)/../include modules + +endif + + + +clean: + rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions + +depend .depend dep: + $(CC) $(CFLAGS) -M *.c > .depend + + +ifeq (.depend,$(wildcard .depend)) +include .depend endif