A20简易Makefile解析
来源:互联网 发布:js数组添加值 编辑:程序博客网 时间:2024/06/05 19:18
编译进内核 obj-y
Kbuild Makefile 规定所有编译进内核的目标文件都存在$(obj-y)列表中。而这些列表依赖内核的配置。Kbuild编译所有的$(obj-y)文件。然后,调用"$(LD) -r"将它们合并到一个build-in.o文件中。稍后,该build-in.o会被其父Makefile联接进vmlinux中。
$(obj-y)中的文件是有顺序的。列表中有重复项是可以的:当第一个文件被联接到built-in.o中后,其余文件就被忽略了。
联接也是有顺序的,那是因为有些函数(module_init()/__initcall)将会在启动时按照他们出现的顺序进行调用。
编译可装载模块 obj-m
如果是一个源文件,Kbuidl Makefile只需简单的将其加到$(obj-m)
obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_bsdcomp.o
注意:此例中 $(CONFIG_ISDN_PPP_BSDCOMP) 的值为'm'
如果内核模块是由多个源文件编译而成,Kbuild需要知道所编译的模块是基于哪些文件,需要通过变量$<module_name>-objs来告诉它
obj-$(CONFIG_ISDN) += isdn.o
isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o
在这个例子中,模块名将是isdn.o, Kbuild将编译在$(isdn-objs)中列出的所有文件,然后使"$(LD) -r"生成isdn.o。
Kbuild能够识别用于组成目标文件的后缀-objs/-y,-y可以通过使用CONFIG_符号来判读该对象是否是用来组合对象的。
obj-$(CONFIG_EXT2_FS) +=ext2.o
ext2-y :=balloc.o bitmap.o
ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o
Kbuild Makefile 规定所有编译进内核的目标文件都存在$(obj-y)列表中。而这些列表依赖内核的配置。Kbuild编译所有的$(obj-y)文件。然后,调用"$(LD) -r"将它们合并到一个build-in.o文件中。稍后,该build-in.o会被其父Makefile联接进vmlinux中。
$(obj-y)中的文件是有顺序的。列表中有重复项是可以的:当第一个文件被联接到built-in.o中后,其余文件就被忽略了。
联接也是有顺序的,那是因为有些函数(module_init()/__initcall)将会在启动时按照他们出现的顺序进行调用。
编译可装载模块 obj-m
如果是一个源文件,Kbuidl Makefile只需简单的将其加到$(obj-m)
obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_bsdcomp.o
注意:此例中 $(CONFIG_ISDN_PPP_BSDCOMP) 的值为'm'
如果内核模块是由多个源文件编译而成,Kbuild需要知道所编译的模块是基于哪些文件,需要通过变量$<module_name>-objs来告诉它
obj-$(CONFIG_ISDN) += isdn.o
isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o
在这个例子中,模块名将是isdn.o, Kbuild将编译在$(isdn-objs)中列出的所有文件,然后使"$(LD) -r"生成isdn.o。
Kbuild能够识别用于组成目标文件的后缀-objs/-y,-y可以通过使用CONFIG_符号来判读该对象是否是用来组合对象的。
obj-$(CONFIG_EXT2_FS) +=ext2.o
ext2-y :=balloc.o bitmap.o
ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o
阅读全文
0 0
- A20简易Makefile解析
- Makefile简易教程
- makefile简易正确写法
- Makefile 简易教程
- Makefile简易教程
- makefile简易教程
- Makefile简易教程
- makefile解析
- Makefile解析
- 简易Makefile编写流程_20160917
- 简易HTTP协议解析
- 简易csv解析
- retrofit2简易源码解析
- Makefile 编写 简易教程 (实例)
- makefile常用写法和简易写法
- Makefile文件解析
- 解析Linux的MakeFile
- 驱动模块Makefile解析
- Spark调优之Shuffle调优
- 【工具】Source Insight常用设置
- 城市选择插件
- python处理进制的转换
- Linux学习篇之---Ubuntu 14.04 重启后DNS配置丢失问题的解决方案,---ubuntu14.04
- A20简易Makefile解析
- 码农周刊分类整理
- BSGS及扩展BSGS
- 项目总结-Linux下批量删除无用文件
- gcc编译头文件和链接文件搜索
- java静态类型与动态类型
- Spring框架入门
- iOS 应用打包
- JAVA中快速构建BEAN的方法