簡體   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