Buildroot 导出配置符号的位置
Where Buildroot exports configuration symbols
我想知道代码 buildroot 导出配置符号的位置,以便可以在每个包的 .mk 中读取它们:
示例:
在包 exim.mk
中有对 BR2_PACKAGE_OPENSSL
值的测试:
ifeq ($(BR2_PACKAGE_OPENSSL),y)
符号是在.config
中定义的,但是exim.mk
怎么看呢
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
如果没有选中。所以条件在第一种情况下为真,在第二种情况下为假。
我想知道代码 buildroot 导出配置符号的位置,以便可以在每个包的 .mk 中读取它们:
示例:
在包 exim.mk
中有对 BR2_PACKAGE_OPENSSL
值的测试:
ifeq ($(BR2_PACKAGE_OPENSSL),y)
符号是在.config
中定义的,但是exim.mk
怎么看呢
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
如果没有选中。所以条件在第一种情况下为真,在第二种情况下为假。