Linux 内核2
6 Makefile 文件===目录===1概述===2 角色分工===3内核编译文件---3
1目标定义---3
2内嵌对象 -obj-y---3
3可加载模块 -obj-m---3
4导出符号---3
5库文件 -lib-y---3
6目录递归---3
7编译标记---3
8命令依赖---3
9依赖关系---3
10特殊规则===4辅助程序---4
1简单辅助程序---4
2组合辅助程序---4
3定义共享库---4
4C++语言使用方法---4
5辅助程序编译控制选项---4
6何时建立辅助程序---4
7使用 hostprogs-$(CONFIG_FOO)===1概述Makefile包括五部分:Makefile顶层 Makefile文件
config内核配置文件arch/$(ARCH)/Makefile机器体系 Makefile文件scripts/Makefile
*所有内核 Makefiles共用规则kbuildMakefiles其它 makefile文件通过内核配置操作产生
config文件,顶层 Makefile文件读取该文件的配置
顶层 Makefile文件负责产生两个主要的程序:vmlinux(内核 image)和模块
顶层 Makefile文件根据内核配置,通过递归编译内核代码树子目录建立这两个文件
顶层 Makefile文件文本一个名为arch/$(ARCH)/Makefile的机器体系 makefile文件
机器体系 Makefile文件为顶层 makefile文件提供与机器相关的信息
每一个子目录有一个 makefile文件,子目录 makefile文件根据上级目录 makefile文件命令启动编译
这些 makefile使用
config文件配置数据构建各种文件列表,并使用这些文件列表编译内嵌或模块目标文件
scripts/