2010-06-03 61 views
19

Linux内核(以及包括git在内的各种其他项目)具有非常好的makefile,可以将巨大的cc调用隐藏到精美的小缩略词中。漂亮的打印制作文件

例如:

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

将成为:

CC cool.c 
CC neat.c 

,如果你有大量的文件和长编译器标志的项目,这是非常好的。我记得这与抑制默认输出和制作自定义输出有关。你怎么做呢?

回答

23

您可以在makefile目标中预先调用@来调用。

例如为:

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

真棒!正是我需要的! – wickedchicken 2010-06-03 21:43:27

+8

Linux内核的Makefile允许你决定是否显示编译命令(这在调试时很有用)。他们有条件地设置'Q = @',然后将命令写为'$(Q)$(CC)...'。现在你可以选择通过设置'Q ='来设置一个命令 – 2010-06-03 22:27:22