KSRC := /lib/modules/$(shell uname -r)/build SRC_DIR=$(shell pwd) all: prereq_check kernel-module # test user programs UEXE := test: $(UEXE) user-program: user-program.c gcc -g -O2 -o $@ $^ SRCS := mod_watch.c OBJS := mod_watch.o prereq_check: @ if [ ! -f $(KSRC)/include/linux/version.h ]; then \ echo "Kernel sources not been found. Aborting."; \ exit 1;\ fi MODULE := mod_watch.ko obj-m := mod_watch.o mod_watch-objs := kernel-module: $(MAKE) -C $(KSRC) SUBDIRS=$(SRC_DIR) modules clean: rm -f *.o *.ko .*.ko.cmd .*.o.cmd *.mod.[oc] *~ rm -rf .tmp_versions rm -f $(UEXE)