
顶层Makefile
用途 :根目录下的 Makefile 是内核构建的核心入口点。它会首先被解析,用于加载全局配置文件(如 .config)并设置编译环境变量。
特点:
-
通过调用
make命令执行。 -
调用
arch/$(ARCH)/Makefile处理特定平台。 -
几乎不用修改,除非需要针对整个内核项目进行大规模更改。
适用范围:内核开发人员需要理解其作用,但一般无需手动修改。

.config (内核配置文件)
-
用途 :记录内核的配置选项,通常通过
make menuconfig或make nconfig工具生成。 -
特点:
-
包含各种功能开关,例如哪些模块要内建、哪些作为模块编译。
-
根目录的
Makefile会读取该文件以决定如何配置编译环境。
-
-
适用范围 :所有内核和驱动开发人员都需要熟悉
.config的内容及其生成方式。


想了解内核sdk的所有功能 那就打开kernel的.config文件,去看当前的.config有哪些功能,找对应功能的实现------>找对应的宏
比如找:CONFIG_TICK_CPU_ACCOUNTING
执行 grep -rn "CONFIG_TICK_CPU_ACCOUNTING"

要屏蔽一些模块的话在Deconfig里屏蔽


用途:包含 kbuild 体系的核心构建规则和工具定义。
特点:
-
提供通用的构建逻辑,例如目标编译、依赖解析等。
-
开发人员通常不需要修改,但理解其作用有助于调试复杂构建问题。
适用范围:内核高级开发人员或构建体系维护者。
四、scripts/Makefile.*
用途:包含 kbuild 体系的核心构建规则和工具定义。
特点:
-
提供通用的构建逻辑,例如目标编译、依赖解析等。
-
开发人员通常不需要修改,但理解其作用有助于调试复杂构建问题。
适用范围:内核高级开发人员或构建体系维护者。
