今天写了个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写的真是很不错,应该好好研究一下。
参考的文章:
http://linux.ccidnet.com/art/741/20070402/1050783_1.html
本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/kernel/20071022/7747.html
评论
发表评论