- 论坛徽章:
- 0
|
今天写了个2.4, 2.6内核开发模块的通用Makefile
主要思想:
#设置你自己的最后要生成的 .o or .ko 文件名称
mod_nn = module_nameobjs_mod = file1.o file2.o ....VERS=$(findstring 2.6,$(shell uname -r)) ifeq ($(KERNELRELEASE),) export MAKEDIR =$(shell pwd)endififeq ($(VERS26),2.6) include $(MAKEDIR)/Makefile26.inc else include $(MAKEDIR)/Makefile24.inc endifclean: 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.htm
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/45253/showart_357131.html |
|