0
假設我有目標A
,只有在B
或C
已經構建時才能構建。建築物C
比建築B
貴得多。多種優先排序的方式來滿足依賴關係
如何編寫一個最佳的SConstruct
文件,當我要求它建立A
時,它滿足以下約束條件。
- 如果任
B
或C
存在並且UPTODATE,直接建立A
- 如果既沒有
B
也不C
存在並且UPTODATE,第一建立B
然後生成A
如果scons
不提供這個能力,還有其他的構建工具提供嗎?
如果C總是比B昂貴得多,我會認真考慮永遠不要構建C。使B成爲A的唯一依賴關係,並且根據對上面給出的問題的描述,您應該可以做得很好...... – dirkbaechle
當然,當我可以等待時,還有其他一些非常重要的構建C的依據。 B一建立就可以開始工作。但是我只能確定當C被構建時我的工作是正確的。 –
然後你的描述有點誤導是不是?爲了構建「A」的正確版本,您不必提及最終需要用「C」構建的任何地方。請記住,SCons的首要任務就是提供正確的版本...最後,Build系統應該如何知道*什麼時候需要最終的「A」(=使用C),還是您仍然可以開始初步工作基於不正確的「A」(=使用B)? – dirkbaechle