本文具体分析 配置 Linux内核源码时,顶层 Makefile实际做的事。
本文续上一篇文章的分析,地址如下:
Linux内核顶层Makefile的make xxx_defconfig过程分析一_凌肖战的博客-CSDN博客
上一篇文章,分析出来:
当 配置 Linux内核源码(即执行 "make xxx_defconfig"命令)时,顶层 Makefile实际执行如下命令:
- make -f ./scripts/Makefile.build obj= scripts/basic
- make -f ./scripts/Makefile.build obj= scripts/kconfig xxx_defconfig
下面分析这两条命令具体做了什么?具体分为两条命令,也就实现两个功能。
make -f ./scripts/Makefile.build obj= scripts/basic
- 41 # The filename Kbuild has precedence over Makefile
- 42 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
- 43 kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuilddir)/Kbuild,$(kbuild-dir)/Makefile)
- 44 include $(kbuild-file)
- kbuild-dir=./scripts/basic
- kbuild-file= ./scripts/basic/Makefile
- include ./scripts/basic/Makefile
- 94 __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target)
- $(extra-y)) \
- 95 $(if $(KBUILD_MODULES),$(obj-m) $(modorder-target)) \
- 96 $(subdir-ym) $(always)
- 97 @:
- __build:$(builtin-target) $(lib-target) $(extra-y)) $(subdir-ym) $(always)
- @:
- builtin-target =
- lib-target =
- extra-y =
- subdir-ym =
- always = scripts/basic/fixdep scripts/basic/bin2c
__build: scripts/basic/fixdep scripts/basic/bin2c@:
下一篇文章继续分析第二条命令的功能。