.config和makefile以及Kconfig的联系

前言:
在基于nuttx或者linux进行软件开发的过程中,经常接触到.config、makefile、Kconfig、menuconfig这四个config文件。非常有必要理清楚他们之间的关系。

1.makefile
指定那些文件编译、那些文件不编译,以及编译的依赖文件和生成的目标文件。
作用的对象是源文件。

2.Kconfig
用于构建menuconfig,menuconfig的显示选项均来自各个文件夹下的kconfig文件。

3.menuconfig
用于配置系统,实际上是根据kconfig文件中的宏定义,达到修改.config文件的目的。
.config和makefile以及Kconfig的联系

4…config
用于编译内核时的参考文件,编译过程中的预编译,将读取.config文件中的宏定义,来达到选择性编译的目的。

这里需要注意的是:
若要修改配置,一定要在menuconfig中去进行配置,不能在Kconfig中去注释,否则注释后,构建的menuconfig选项不全,导致在menuconfig中无法修改.coonfig文件。