在没有依赖项的SCons中运行命令

时间:2011-08-17 13:08:52

标签: scons

我想在SCons中运行一个没有任何输入/输出文件的命令(实际上输入和输出是同一个文件)。目前我只是使用subprocess.Popen手动运行它,但有更多的SConsy方法吗?

1 个答案:

答案 0 :(得分:14)

您可以使用Command函数运行通过Popen运行的任何外部命令,并且可以使用AlwaysBuild函数确保即使目标文件存在也始终运行命令。 Scons不喜欢依赖循环,因此请将源列表留空。

myfile = env.Command('myfile.out', [], 'echo Hello world > $TARGETS')
env.AlwaysBuild(myfile)

scons wiki还有PhonyTargets的配方,可以很容易地设置很多简单的命令。