博客已迁移,新博客地址:https://www.wxtechblog.com
#1. 文章说明
- 内核版本号为:4.11.4,针对x86平台,存不存在.config文件无所谓。
- 需要读者有基础Makefile知识
- 分析输入make firmware_install命令时的情形,只分析主要流程,其它的像变量赋值等部分只分析会影响流程执行的内容。
- 不会讲解Makefile文件中出现的函数,如果不懂,可以bing。
#2. 主Makefile流程分析
目标firmware_install定义在源码根目录下Makefile中的line 1120行
1119 PHONY += firmware_install
1120 firmware_install:
1121 @mkdir -p $(objtree)/firmware
1122 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_install
由于只输入了make firmware_install,因此KBUILD_SRC为空,会解析line 118 ~ line 158的语句。
这部分中,line 137 ~ line 157的语句无效。原因是编译时只输入了make firmware,导致line 122行条件为假,因此KBUILD_OUTPUT为空值,line 137行的语句为假,所以line 137 ~ line 157的语句