2012-03-27 255 views
16

Linux內核我編譯只打印信息,如:如何在Makefile中隱藏編譯信息?

CC ..... 
LD [M] .... 

如何隱藏通過品牌和輸出我想要的東西打印出來編譯消息?我在哪裏可以找到在內核Makefile中執行此操作的代碼部分?

回答

33

總之,前置'@'。

什麼內核Makefile做的是相當複雜的,但它歸結爲這樣的事:

%.o: %.c 
    @echo [CC] [email protected] 
    @gcc -o [email protected] -c $< 

the GNU Make manual。 GNU Make的確有很好的文檔記錄,如果你正在做很多工作,值得努力閱讀它。

+0

呃,那麼'@ gcc -o $ @ -c $ <'的編譯信息如何被抑制?是因爲「回聲」嗎?編輯:我在你的答案閱讀網頁。得到它了。 – Amumu 2012-03-27 05:54:17

+0

Make不迴應這兩個命令,但它仍然打印它們的輸出。所以gcc命令的輸出(即warnings/errors)和echo輸出都會顯示出來。所以確實,你看到的輸出並不是真正由gcc產生的,而是由echo產生的。 – 2012-03-27 05:55:56