make menuconfig执行过程
因为make menuconfig,使用make进行编译的,一定通过Makefile文件进行管理
1.在uboot源码顶层目录,打开Makefile文件,搜索:config,查找到如下打印信息
564 %config: scripts_basic outputmakefile FORCE
565 $(Q)$(MAKE) $(build)=scripts/kconfig $@
2.$(Q)就是@符,@会取消回显,所以在Makefile文档中,将$(Q)变量去掉
565 $(MAKE) $(build)=scripts/kconfig $@
3.在uboot源码顶层目录下,执行make menuconfig,会打印相应的变量信息
make -f ./scripts/Makefile.build obj=scripts/kconfig menuconfig
4.在uboot源码顶层目录下,进入scripts/kconfig目录,打开Makefile文件,搜索menuconfig
34 menuconfig: $(obj)/mconf
35 $< $(silent) $(Kconfig)
5.在uboot源码顶层目录下,进入scripts/kconfig目录,打开Makefile文件,使用echo打印变量信息
34 menuconfig: $(obj)/mconf
35 @echo $<
36 @echo $(silent)
37 @echo $(Kconfig)
38 $< $(silent) $(Kconfig)
6.在uboot源码顶层目录下,执行make menuconfig,会打印相应的变量信息
make -f ./scripts/Makefile.build obj=scripts/kconfig menuconfig
scripts/kconfig/mconf
Kconfig
scripts/kconfig/mconf Kconfi
7.通过以上分析可知,make menuconfig执行的完成语句内容:
scripts/kconfig/mconf Kconfig
分析:
scripts/kconfig/mconf:通过file命令进行查看,可知mconf文件是一个elf可执行文件
Kconfig:uboot源码顶层目录下的配置文件
整体分析:conf作为可执行参数,uboot源码顶层目录下的配置文件传递给mconf