繁体   English   中英

使用 waf,如何将构建目录中的文件作为另一个构建命令的输入?

[英]Using waf, how can I refer to a file in build directory as input to another build command?

我使用waf作为我的项目的构建系统,我需要在构建过程中执行两个连续的 shell 命令,其中第一个命令的输出文件应该作为命令行中的输入文件提供给第二个命令。 根据waf book,执行OS命令的通用模板如下所示:

bld(rule='cp ${SRC} ${TGT}', source='input.txt', target='output.txt')

使用此模板,目标目录将自动添加到目标文件中。 但是不清楚如何在后面的命令中将该文件称为输入文件。

Linux 操作系统,Python 2.7 版,waf 1.8.9 版

如何才能做到这一点?

通常你只需要使用目标文件。 大多数 WAF 工具尝试首先在构建目录和源目录中查找文件。 如果没有找到,那就是要构建的东西。 所以你可以这样做:

rule = 'cp ${SRC} ${TGT}'

bld(rule=rule, source='input.txt', target='output.txt')
bld(rule=rule, source='output.txt', target='output2.txt')

你会得到类似的东西:

[1/2] output.txt: input.txt -> build/output.txt
[2/2] output2.txt: build/output.txt -> build/output2.txt

WAF 从构建和源目录中查找相对路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM