Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4006017
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类: LINUX

2007-04-11 21:50:45

今天写了个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写的真是很不错,应该好好研究一下。

参考的文章:
 
阅读(2885) | 评论(1) | 转发(0) |
0

上一篇:2.6 Kernel Makefile

下一篇:GCC FASTCALL asmlinkage

给主人留下些什么吧!~~