Linux 内核中的 Makefile 是构建内核及其模块的重要组成部分。它不仅完成了内核源码的编译,还对模块、链接、依赖、清理等步骤进行了详细定义。以下是 Linux 内核中 Makefile 的结构及其关键内容详解。
一、总体结构
Linux 内核的 Makefile 并非一个单一文件,而是一个分层结构,主要包括:
-
顶层
Makefile:位于内核源码根目录,用于控制全局编译流程。 -
子目录
Makefile:用于控制子系统或模块的编译。 -
Kbuild文件 :辅助Makefile管理内核模块的构建。
顶层 Makefile 的主要作用
-
定义编译工具(如
gcc、ld)及其选项。 -
定义编译目标(如
vmlinux、modules)。 -
控制子目录的递归编译。
-
处理内核配置文件(
.config)并生成依赖。
交叉编译工具链位置
