8
我想在沒有任何輸入/輸出文件(實際上輸入和輸出是相同文件)的SCons中運行命令。目前我只是用subprocess.Popen手動運行它,但是有更多的SConsy方法嗎?在沒有依賴關係的SCons中運行命令
我想在沒有任何輸入/輸出文件(實際上輸入和輸出是相同文件)的SCons中運行命令。目前我只是用subprocess.Popen手動運行它,但是有更多的SConsy方法嗎?在沒有依賴關係的SCons中運行命令
可以使用Command函數來運行通過Popen運行的任何外部命令,並且可以使用AlwaysBuild函數確保即使目標文件存在,也始終運行命令。 Scons不喜歡依賴性循環,因此請將源列表留空。
myfile = env.Command('myfile.out', [], 'echo Hello world > $TARGETS')
env.AlwaysBuild(myfile)
利用Scons維基也有PhonyTargets配方,這使得很容易地設置了很多簡單的命令。
如果已經有一條規則來構建'myfile.out',那麼它會抱怨有多種方法來構建目標。我想有一個規則來創建該文件,另一個來修改它。 – 2011-08-24 15:14:43