网站推广方法素材,网站的建立目的,软件开发 系统开发 网站开发服务,新手如何学做网站一. Linux内核的配置工作 本文具体分析 配置 Linux内核源码时#xff0c;顶层 Makefile实际做的事。具体分析 make xxx_defconfig配置Linux内核源码时#xff0c;顶层 Makefile做了什么。
本文续上一篇文章#xff0c;地址如下#xff1a;
Linux内核顶层Mak…一. Linux内核的配置工作 本文具体分析 配置 Linux内核源码时顶层 Makefile实际做的事。具体分析 make xxx_defconfig配置Linux内核源码时顶层 Makefile做了什么。
本文续上一篇文章地址如下
Linux内核顶层Makefile的make xxx_defconfig过程分析二_凌肖战的博客-CSDN博客 二. make xxx_defconfig过程 1. %config 目标对应的命令 当 配置 Linux内核源码即执行 make xxx_defconfig命令时顶层 Makefile实际执行如下命令
make -f ./scripts/Makefile.build obj scripts/basic
make -f ./scripts/Makefile.build obj scripts/kconfig xxx_defconfig 下面来分析 %config 目标对应的命令 make -f ./scripts/Makefile.build obj scripts/kconfig xxx_defconfig 打开文件 scripts/Makefile.build 有如下代码 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) 因为 src scripts/kconfigsrctree 为 . 所以将 上面的展开后为 kbuild-dir ./scripts/kconfig
kbuild-file ./scripts/kconfig/Makefile
include ./scripts/kconfig/Makefile 可以看出 Makefile.build 会读取 scripts/kconfig/Makefile 中的内容此文件有如下所示内 容 104 %_defconfig: $(obj)/conf
105 $(Q)$ $(silent) --defconfigarch/$(SRCARCH)/configs/$ $(Kconfig) 目标 %_defconfig 与 xxx_defconfig 匹配所以会执行这条规则将其展开就是 %_defconfig: scripts/kconfig/confscripts/kconfig/conf --defconfigarch/arm/configs/%_defconfig Kconfig %_defconfig 依赖 scripts/kconfig/conf 所以会编译 scripts/kconfig/conf.c 生成 conf 这个软件。 此软件就会将 %_defconfig 中的配置输出到 .config 文件中最终生成 Linux kernel 根目录下 的 .config 文件。 三. make xxx_defconfig过程总结 在编译 Linux内核源码时需要对内核进行配置这里选择执行 make xxx_defconfig 命令进行配置即使用配置文件。
在执行 make xxx_defconfig 命令进行配置时Linux顶层 Makefile 实际执行如下内容
make -f ./scripts/Makefile.build obj scripts/basic
make -f ./scripts/Makefile.build obj scripts/kconfig xxx_defconfig 经过几篇文章的分析这两条命令实际做了如下工作
第一行命令 scripts_basic就是编译出 scripts/basic/fixdep 和 scripts/basic/bin2c 这 两个软件。
第二行命令会编译 scripts/kconfig/conf.c 生成 conf 这个软件。 此软件就会将 %_defconfig 中的配置输出到 .config 文件中。