2010-03-05 24 views
15

大型複雜的make文件可能令人望而生畏,無法閱讀和檢查。 什麼工具可用於可視化或以其他方式檢查gnu make文件?是否有任何檢查Makefiles的好工具?

+0

貓嗎?減?使用gvim? – 2010-03-05 03:17:01

+0

對於它的價值,我只是使用Mk。我眼球加編輯組合...大多數人寫的非常類似的makefile,你已經習慣了。對於機器生成的makefile,情況並非如此,但對於那些你可能應該從生成器的輸入開始。 – dmckee 2010-03-05 03:18:23

+3

您可以使用make -d(和可選的-n)來打印出發生了什麼,這通常很有幫助。 – 2010-03-05 03:25:22

回答

3

我不知道一個工具,可以讓一組的makefile感的。由於大多數基於製造的構建環境都是隨機命令的大雜燴,可怕的宏觀替代以及與上下文相關的控制流,所以確實幾乎不可能創建一個。

順便說一下,我聽到了關於SCons的好消息,因爲我參與了一個系統製作環境,這個環境已成爲維護自己的噩夢。

+0

SCons是我最喜歡的生成系統,但有一個巨大的優勢。您可以快速編寫一個make文件來針對一組文件執行任何程序。 SCons爲不同的構建任務使用各種插件,它包含了常見編譯器的插件,但在某些情況下,您可能需要編寫自己的插件。 – mikerobi 2010-03-05 03:39:58

3

我用--print-data-base(-p)選項取得了很好的成功。

與--just-print(-n,--dry-run)結合使用並將stdout重定向到一個文件會創建一個包含所有規則和變量的新的單一makefile,這些規則和變量可能會更容易理解。

真的很糟糕的makefile我已經儘可能在Perl中解析這個輸出來生成一個新的編譯系統!

19

我試圖使用CPAN的可視化器並失敗。所以,我寫了自己的quick-n-dirty Makefile可視化器。

你可能想嘗試一下: http://github.com/vak/makefile2dot

+2

如果我可以給你+10我會。您的解決方案比任何發佈的Perl解決方案都更好。 – synthesizerpatel 2011-06-20 22:41:31

+0

哦,謝謝,很高興它幫助:) – vak 2011-06-28 09:13:13

+0

@synthesizerpatel以某種方式發佈賞金並接受vak的? – n611x007 2013-07-19 09:08:52

相關問題