内核模块编译-Makefile写法
如果编译内核模块,可以编写Makefile,然后执行make命令即可。
Linux2.6的Makefile模板如下:
#Makefile2.6
ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationship of files and target modules are listed here.
mymodule-objs := file1.o file2.o
obj-m := mymodule.o
else
PWD := $(shell pwd)
KVER := &(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
clean:
rm -rf *.*.cmd *.o *.mod.c *.ko .tmp_versions
endif
注意:
1.ifneq 后面有空格。
2.命令前面必须使用tab键,如&(MAKE)和rm 的前面。
3.Makefile必须和相应的.c文件放在同一个目录下。
代码解释:
(1) ifneq ($(KERNELREL