onlylove@ubuntu:~/linux/linux/alientek_linux$ make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig # 生成了 scripts/basic/fixdep 工具 make -f ./scripts/Makefile.build obj=scripts/basic gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep scripts/basic/fixdep.c rm -f .tmp_quiet_recordmcount # 生成了 scripts/kconfig/conf 工具 make -f ./scripts/Makefile.build obj=scripts/kconfig imx_v7_defconfig gcc -Wp,-MD,scripts/kconfig/.conf.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DCURSES_LOC="" -DNCURSES_WIDECHAR=1 -DLOCALE -c -o scripts/kconfig/conf.o scripts/kconfig/conf.c cat scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DCURSES_LOC=" " -DNCURSES_WIDECHAR=1 -DLOCALE -Iscripts/kconfig -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o # 执行 scripts/kconfig/conf 工具生成.config scripts/kconfig/conf --defconfig=arch/arm/configs/imx_v7_defconfig Kconfig # # configuration written to .config # onlylove@ubuntu:~/linux/linux/alientek_linux$
通过以上输出日志,可以确定 make xxx_defconfig 的执行主要分成三个部分:
1、执行 make -f ./scripts/Makefile.build obj=scripts/basic,编译生成 scripts/basic/fixdep 工具。
2、执行 make -f ./scripts/Makefile.build obj=scripts/kconfig imx_v7_defconfig, 编译生成 scripts/kconfig/conf 工具。
3、执行 scripts/kconfig/conf --defconfig=arch/arm/configs/imx_v7_defconfig Kconfig ,生成最终的 .config 配置文件。
详细内容见:https://blog.csdn.net/OnlyLove_/article/details/120943614



