编译Linux内核模块时Makefile的写法


  1. obj-m = hello.o 
  2. all: 
  3.     make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules 
  4. clean: 
  5.     rm -rf *.o *.ko *.mod.c *.mod.o modules.* Mod* 

注解:首先看第一行 其中的obj-m指的是编译的目标是编译为模块,如果编译的源文件为hello.c 只需写为obj-m:=hello.o即可

第三行 make -C是切换到指定目录进行编译 如果是编译当前系统的内核模块即为上述目录,如果是进行交叉编译,之需要将目录修改为对应的内核源代码目录即可

 

 

 

 

 

相关内容