2012-03-27 16 views
16

Jądro Linux skompilować drukuje tylko komunikat:Jak ukryć kompilowanie wiadomości w Makefile?

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

Jak mogę ukryć komunikat kompilowania drukowany według marki i wyjścia, co chcę? Gdzie mogę znaleźć fragment kodu, który robi to w pliku Makefile jądra?

Odpowiedz

33

W skrócie, przedrostek '@'.

Co oznaczają makefile jądra jest raczej skomplikowane, ale sprowadza się do mniej więcej tak:

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

Spójrz na the GNU Make manual. GNU Make naprawdę jest dość dobrze udokumentowany, a jeśli dużo z nim pracujesz, warto przeczytać go.

+0

Uhm, więc w jaki sposób kompilacja wiadomości z '@ gcc -o $ @ -c $ <' jest pomijana? Czy to z powodu "echo"? Edycja: czytam stronę z twoją odpowiedzią. Rozumiem. – Amumu

+0

Make nie wywołuje żadnego polecenia, ale nadal drukuje dane wyjściowe. Tak więc będzie wyświetlane zarówno wyjście z polecenia gcc (to jest ostrzeżenia/błędy), jak i wyjście z echa. Rzeczywiście, dane wyjściowe, które widzisz, nie są tak naprawdę tworzone przez gcc, ale zamiast tego przez echo. –