2011-08-17 46 views

回答

13

可以使用Command函數來運行通過Popen運行的任何外部命令,並且可以使用AlwaysBuild函數確保即使目標文件存在,也始終運行命令。 Scons不喜歡依賴性循環,因此請將源列表留空。

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

利用Scons維基也有PhonyTargets配方,這使得很容易地設置了很多簡單的命令。

+0

如果已經有一條規則來構建'myfile.out',那麼它會抱怨有多種方法來構建目標。我想有一個規則來創建該文件,另一個來修改它。 – 2011-08-24 15:14:43