我想知道代码buildroot在哪里导出配置符号,以便可以在每个包的.mk中读取它们:
示例:
在exim.mk
包中,对BR2_PACKAGE_OPENSSL
值进行了测试:
ifeq ($(BR2_PACKAGE_OPENSSL),y)
符号在.config
中定义,但exim.mk
如何阅读
答案 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
如果未选中。因此,在第一种情况下条件为真,在第二种情况下为假。