Buildroot导出配置符号的位置

时间:2017-03-30 08:11:30

标签: linux makefile embedded-linux buildroot

我想知道代码buildroot在哪里导出配置符号,以便可以在每个包的.mk中读取它们:

示例:

exim.mk包中,对BR2_PACKAGE_OPENSSL值进行了测试:

ifeq ($(BR2_PACKAGE_OPENSSL),y)

符号在.config中定义,但exim.mk如何阅读

1 个答案:

答案 0 :(得分:2)

Buildroot基于make构建系统。 make读入顶级Makefile,并解析该文件中的include指令。一个这样的指令是

-include $(BR2_CONFIG)

BR2_CONFIG变量扩展为.config(在Buildroot目录中,或者在给出O=的情况下在输出目录中)。 .config文件包含您使用Kconfig基础结构选择的所有配置选项。

接下来,顶级Makefile有

include $(sort $(wildcard package/*/*.mk))

这将读取包目录中的所有.mk个文件,包括exim.mk。因此,在解析exim.mk时,将评估BR2_PACKAGE_OPENSSL中设置的.config值。这可以是

BR2_PACKAGE_OPENSSL=y

如果选择了该选项,或

# BR2_PACKAGE_OPENSSL is not set

如果未选中。因此,在第一种情况下条件为真,在第二种情况下为假。