从文件中导入 scons 变量

Import scons variables from file

scons是否支持包含来自外部文件的变量?

简而言之,我有一堆设置、变量等;我想让我的一个大型项目中的一堆 Makefile 可用。根级 makefile 很容易 source/include 文件。

但是,一些子项目使用 scons,并且 the only documentation I found on the topic notes 顶级 sconscript 需要创建一个传递给子项目的变量。

我的目标是拥有一个充满变量(主要是编译器路径)的简单文件,并告诉 scons 只导入变量 key/value 对。 The one SO post I've found on this topic notes that the file must be 代码,而不是 Makefile,因此我可能需要编写一个脚本来将 Makefile 转换为 python 代码。

如果您查看 scons 联机帮助页(http://scons.org/doc/production/HTML/scons-man.html 搜索 "variables(")

您会看到 Variables() 可以获取一个文件 (python)。尽管它不太可能解决您的问题。可以使该文件成为一种既有效 python 又有效的格式,当然高度依赖于内容。

除此之外,解析一个简单的 makefile 应该相当简单,假设它的内容类似于:

xyz = some values
abc := some other values

如果包含

xyz = some values
abc := $(xyz) and more

它会变得更加复杂。