gpt4 book ai didi

scons - 当我有自定义构建器时,是什么触发 scons 构建文件?

转载 作者:行者123 更新时间:2023-12-04 16:02:20 25 4
gpt4 key购买 nike

试图控制何时在 scons 中构建文件时,我会发疯。我有一个非常简单的示例构建树(见下文),带有 Poem只需要一个 .txt 的构建器文件并在相应的 .eectxt 中将其转换为小写文件。

在我的 SConstruct 和 SConscript 文件中,我声明了 3 个 .txt 文件的依赖项。

但我无法弄清楚是什么将这些放入默认版本中!

sconstest/
SConstruct
tiger.txt
src/
SConscript
hope.txt
jabberwocky.txt

其中 *.txt 文件是诗歌,我的 SConstruct 和 SConscript 如下所示:

S构造:
env = Environment();

def eecummings(target, source, env):
if (len(target) == 1 and len(source) == 1):
with open(str(source[0]), 'r') as fin:
with open(str(target[0]), 'w') as fout:
for line in fin:
fout.write(line.lower());
return None

env['BUILDERS']['Poem'] = Builder(action=eecummings, suffix='.eectxt', src_suffix='.txt');

Export('env');
poems = SConscript('src/SConscript');
tigerPoem = env.Poem('tiger.txt');

源代码/SConscript:
Import('env');

input = ['jabberwocky.txt', 'hope.txt'];
output = [env.Poem(x) for x in input];
Return('output');

我想要做的是声明 .eectxt 的依赖关系来自相应 .txt 的文件文件,但 不是 除非我明确将它们放入 Default()在 SConstruct 文件中构建,或者我在命令行中明确请求它们。

我怎样才能做到这一点?

最佳答案

默认情况下,目录依赖于驻留在其中的所有文件和/或目标。
所以运行:

scons

然后将构建当前目录下的所有目标。

关于scons - 当我有自定义构建器时,是什么触发 scons 构建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3894745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com