Python 使用waf,如何引用build目录中的文件作为另一个build命令的输入?

Python 使用waf,如何引用build目录中的文件作为另一个build命令的输入?,python,build,waf,Python,Build,Waf,我使用waf作为我项目的构建系统,在构建过程中我需要执行两个连续的shell命令,其中第一个命令的输出文件应该作为第二个命令行的输入文件。根据waf手册,执行OS命令的通用模板如下所示: bld(rule='cp ${SRC} ${TGT}', source='input.txt', target='output.txt') 使用此模板,目标目录将自动前置到目标文件。但不清楚如何在以后的命令中将该文件作为输入文件引用 Linux操作系统,Python版本2.7,waf版本1.8.9 如何做到这

我使用
waf
作为我项目的构建系统,在构建过程中我需要执行两个连续的shell命令,其中第一个命令的输出文件应该作为第二个命令行的输入文件。根据waf手册,执行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从生成目录和源目录中查找相对路径