内核及驱动编译
时间:2009-07-12 来源:eastream
Obj-m := xxx.o //有个一xxx.ko内核模块将要从xxx.o构建。
两个源文件生成模块情况:
Obj-m := module.o
Module-objs := file1.o file2.o
而且,要让这种Makefile文件正常工作,必须在大的内核构造系统环境中调用它们,也就是说,要在内核源代码中,
Make –C $(KERNEL_PATH) M=`pwd` modules
上述命令改变目录到-C 选项指定的位置,使用的是内核的顶层Makefile。M=选项让该makefile在构造modules目标前返回到模块源代码目录,然后,modules 目标指向obj-m变时中设定的模块。也就是module.o
对于选择性的编译,内核是这样实现的:
Obj-$(CONFIG_XXX) += xxx.o
xxx-objs := file1.o
:= 当前依赖
+= 追加
?=没有定义的话就初始化。OR do nothing
附加学习内容
2.4内核(arm版)Makefile分析 http://blog.csdn.net/turlim/articles/223400.aspx Linux内核配置文件之解读Makefile http://doc.linuxpk.com/41453.html 相关阅读 更多 +
排行榜 更多 +