今天写了个2.4, 2.6内核开发模块的通用makefile
主要思想:
#设置你自己的最后要生成的 .o or .ko 文件名称
mod_nn = module_name
objs_mod = file1.o file2.o ....
vers=$(findstring 2.6,$(shell uname -r))
ifeq ($(kernelrelease),)
export makedir =$(shell pwd)
endif
ifeq ($(vers26),2.6)
include $(makedir)/makefile26.inc
else
include $(makedir)/makefile24.inc
endif
clean:
find . -name \*.o -exec rm {} \;
具体makefile26.inc 与makfile24.inc你自己还要努力哦,可以参考内核源码中的信息。
还得继续研究了 ......
注意的问题:
2.4 要在makefile中定义一些宏, 找出他们为什么?
2.6 执行$(make)时会调用一次内核makefile的,不然自己也不知道那么多变量从什么地方来,原来是已经export了的。
感觉2.6内核makefile写的真是很不错,应该好好研究一下。
参考的文章:
阅读(2875) | 评论(1) | 转发(0) |