2010-06-03 17 views
19

Linux çekirdeği (ve git dahil çeşitli diğer projeler), dev cc çağrılarını güzel küçük kısaltmalara gizleyen çok güzel maketlere sahiptir. Örneğinpretty print makefiles

:

gcc -O2 -o cool.o cool.c -llib 
gcc -O2 -o neat.o neat.c -llib 

olacaktı:

dosyaların ve uzun derleyici bayrakları çok sayıda bir proje varsa gerçekten güzel
CC cool.c 
CC neat.c 

. Bunun varsayılan çıktıyı bastırma ve özel yapma ile ilgili olduğunu hatırlıyorum. Bunu nasıl yapıyorsun?

cevap

23

Makefile hedeflerinde aramalara @ ekleyebilirsin.

Örn .:

%.o: %.c 
    @$(CC) $(CFLAGS) -c -o [email protected] $< 
    @echo "CC $<" 
+0

müthiş! tam olarak ihtiyacım olan şey! – wickedchicken

+8

Linux çekirdeği Makefile, derleme komutunun gösterilip gösterilmeyeceğine karar vermenize izin verir (hata ayıklamada yararlı olabilir). Koşullu olarak Q = @ 'yi ayarladıktan sonra komutu" $ (Q) $ (CC) ... "olarak yazdılar. Şimdi 'Q = 'ayarlayarak bir komut seçmeyi seçebilirsiniz. –