2013-07-02 19 views
1

想象一下以下的目標,並通過命令生成的autoconf:如何使用automake啓用安靜構建?

.c.lo: 
    $(LTCOMPILE) -MT [email protected] -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o [email protected] $< 
    $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo 

我正在尋找在Makefile.am的方式來處理該命令,知道是由autoconf生成的命令,我不知道是什麼它是。從理論上講,這樣的事情:

if BUILD_QUIETLY 
    [email protected] 
endif 

.c.lo: 
    $(Q)$(autoconf-command-for-c-lo) 

或者是這樣的(這類似於Linux內核的編譯輸出):

quiet_cmd_cc = CC  [email protected] 
     cmd_cc = $(autoconf-command-for-c-o) 

.c.o: 
    $(call cmd,cc) 

哪裏cmd是執行cmd_$1的功能,要麼打印quiet_cmd_$1cmd_$1基於一個變量。

我在網上找了這個,但大多數網站都提到了autoconf的基礎知識。在這裏似乎也沒有任何與此有關的問題。

這甚至可能嗎?

+1

'autoconf'不會創建制定規則。 'automake'呢。我建議重複。 - 另外,你有沒有嘗試過'沉默規則'選項automake? – chirlu

+0

另請參閱http://www.flameeyes.eu/autotools-mythbuster/automake/silent.html(特別是第3.2節「自定義無聲規則」,如果「silent-rules」不足以滿足您的需求)。 – chirlu

+0

@chirlu,非常感謝指針!我會嘗試一下並讓你知道。 – Shahbaz

回答

1

根據chirlu's comment,automake可以選擇生成靜音輸出版本。

This page有必要的說明。總之,把在configure.ac如下:

AM_SILENT_RULES([yes]) 

然後停用它,無論是做:

make V=0 
配置後

,或者:

./configure --enable-silent-rules 

的配置。

相關問題