2013-06-28 36 views
3

你好,我想知道在Linux GNU Make中是否有一個特性,它允許我打印需要運行而不需要實際運行它們的目標和先決條件!我正在追蹤一個巨大的製造環境,希望能夠了解這個流程!任何其他技巧將不勝感激!GNU Make選項。打印目標和先決條件

$ make -option mytarget 
making prereq to mytarget 
making prereq to prereq 
making prereq to prereq to prereq 
making mytarget 
done..... etc. 

回答

4

make -n做了 「預演」,打印命令使運行而無需實際運行它們。

make -d打印出大量有關make如何進行其業務的調試信息,並確定要構建哪些目標以及以何種順序。

你也可以將兩者結合起來。你可能也想知道make -r,它會通過不檢查任何隱式規則來安靜地減少make -d輸出,並且make -k這會在出現錯誤的情況下繼續執行(有時在執行make -n時會發生,這取決於你的makefile設置):

make(1) man page相關部分:

-d
打印調試信息除了正常處理。 調試信息說明正在考慮哪些文件用於重新制作 ,哪些文件時間正在進行比較,哪些文件時間正在進行比較,哪些文件實際需要重新制作,哪些隱含的 規則被考慮並應用哪些規則 - 所有有趣的內容如何決定如何做。

-k, --keep-going 出錯後繼續儘可能多。雖然失敗的目標以及依賴它的目標不能重新制作,但這些目標的其他依賴關係可以完全相同。

-n, --just-print, --dry-run, --recon
打印將被執行,但不執行 他們的命令。

-r, --no-builtin-rules 消除使用內置的隱式規則。還要清除 後綴規則後綴的默認列表。

+0

真棒謝謝你!!!!!我需要獲得更多信譽點來選擇這個答案,但我會在有機會的時候選擇這個答案。 – Matt

+0

你可以隨時在自己的問題上標記答案,「接受」,這會給你一個小的反彈。 –