【问题标题】:Using waf, how can I refer to a file in build directory as input to another build command?使用 waf,如何将构建目录中的文件作为另一个构建命令的输入?
【发布时间】:2015-10-13 19:33:38
【问题描述】:

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

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

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

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

如何做到这一点?

【问题讨论】:

    标签: python build waf


    【解决方案1】:

    通常你只需要使用目标文件。大多数 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 从构建目录和源目录中查找相对路径。

    【讨论】:

      猜你喜欢
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多