obj-m := module.o
module-objs := file1.o file2.o
KDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.c *.mod.o
make -C $(KDIR)是执行内核源码目录下的这条命令;要编译的文件在$(PWD)这个文件夹中,modules是说明要编译成为模块。:=是给obj-m直接赋值, +=是追加,还有一个?=是说前面这个变量是否定义并赋值,如果没有赋值则赋值,若已经赋值则无任何动作。
printk()输出内容可以在/var/log/message中进行查看。