第U-boot编译make配置过程
1. 概述
u-boot从 v2014.10版本 后引入kBuild系统,使得其Makefile变的更加复杂;整个Makefile中,嵌套其他不同用途的Makefile,本文将进行简单的分析.
2. 执行配置命令, 生成.config文件
配置,执行make XXX_defconfig进行各项配置,生成.config文件
// 执行make,生成.config文件
asb@IoT:uboot$ make mx6qsensorgw_defconfig V=1
2.1 编译生成fixdep工具
a. %@表示所有的目标依赖的值
本例子中是mx6qsensorgw_defconfig
%config: scripts_basic outputmakefile FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig $@
b. 经过上步转换得出:
mx6qsensorgw_defconfig: scripts_basic outputmakefile FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig mx6qsensorgw_defconfig
// 通过查找可得到build定义在文件中
scripts/Kbuild.include: ;
build := -f $(srctree)/scripts/Makefile.build obj
# 即:
mx6qsensorgw_defconfig: scripts_basic outputmakefile FORCE
$(Q) make -f ./scripts/Makefile.build obj=scripts/kconfig mx6qsensorgw_defconfig
c. 得出三个依赖:
// scripts_basic依赖
# Basic helpers built in scripts/
PHONY += scripts_basic
scripts_basic:
$(Q) make -f $(srctree)/scripts/Makefile.build obj=scripts/basic # make没找到哪里来的,srctree为(./)当前目录
$(Q) rm -f .tmp_quiet_recordmcount
// outputmakefile依赖
PHONY += outputmakefile
# outputmakefile generates a Makefile in the output directory, if using a
# separate output directory. This a

最低0.47元/天 解锁文章
1875

被折叠的 条评论
为什么被折叠?



