做棋牌推广网站违反不网站建设项目组织结构图
一. uboot 的 make xxx_deconfig配置
本文接上一篇文章的内容。地址如下:uboot 顶层Makefile-make xxx_deconfig过程说明二_凌肖战的博客-CSDN博客
本文继续来学习 uboot 源码在执行 make xxx_deconfig 这个配置过程中,顶层 Makefile有关的执行思路。
uboot执行配置过程时,执行了两条关键命令。本文分析第二条命令:
    make -f ./scripts/Makefile.build obj=scripts/kconfig xxx_defconfig 
 
 
 
二. %config目标对应的命令
 %config 目 标 对 应 的 命 令 为 :  
 
    make -f ./scripts/Makefile.build obj=scripts/kconfig xxx_defconfig 
 
同上一篇文章类似分析。各个变量值如下:
src= scripts/kconfig
kbuild-dir = ./scripts/kconfig
kbuild-file = ./scripts/kconfig/Makefile
include ./scripts/kconfig/Makefile 
 
 可以看出, Makefilke.build  会读取  scripts/kconfig/Makefile  中的内容,此文件有如下所示内  
 
 容:  
 
 
113 %_defconfig: $(obj)/conf
114 $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ 
$(Kconfig)
115
116 # Added for U-Boot (backward compatibility)
117 %_config: %_defconfig
118 @:   目标  %_defconfig  刚好和我们输入的  xxx_defconfig  匹配,所以,会执行这条规则。 
 
 依赖为  $(obj)/conf ,展开后就是  scripts/kconfig/conf 。 
 
 接下来,就是检查并生成依赖  scripts/kconfig/conf 。  
 
 conf  是主机软件,到这里我们就不要纠结  conf  是怎么编译出来的, 像  conf  这种主机所使用的工具类软件我们一般不关心它是如何编译产生的。 
 
 
 
 
 
 
 得到  scripts/kconfig/conf  以后,就要执行目标  %_defconfig  的命令:  
 
 
$(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) 
其中,变量值为:
silent=-s 或为空
SRCARCH=..
Kconfig=Kconfig 
 
 目标  %_defconfig 的命令,展开后:  
 
 
 @scripts/kconfig/conf --defconfig=arch/../configs/xxx_defconfig Kconfig 
 上述命令用到了  xxx_defconfig  文件,比如  mx6ull_alientek_nand_defconfig 。这里会将  
 
 mx6ull_alientek_emmc_defconfig  中的配置输出到  .config  文件中,最终生成  uboot  根目录下  
 
 的 .config  文件。  
 
 
 
 
 
三. uboot的make xxx_deconfig 总结
 这个就是uboot配置命令  make xxx_defconfig  执行流程,总体执行思路如下: 
 
 
 

 至此,uboot配置命令  make xxx_defconfig对应,顶层Makefile大体思路 就分析完了,接下来就要分析一下  u-boot.bin  是怎么生成的了。  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
