漂亮的印刷品makefile

wic*_*ken 19 linux gcc makefile compilation

Linux内核(以及包括git在内的各种其他项目)都有非常好的makefile,它可以将巨大的cc调用隐藏起来,形成漂亮的小缩略语.

例如:

gcc -O2 -o cool.o cool.c -llib
gcc -O2 -o neat.o neat.c -llib
Run Code Online (Sandbox Code Playgroud)

会成为:

CC cool.c
CC neat.c
Run Code Online (Sandbox Code Playgroud)

如果你有一个包含大量文件和长编译器标志的项目,这真的很好.我记得这与抑制默认输出和制作自定义输出有关.你怎么做呢?

Mai*_*ter 24

您可以在makefile目标中添加@来调用.

例如:

%.o: %.c
    @$(CC) $(CFLAGS) -c -o $@ $<
    @echo "CC $<"
Run Code Online (Sandbox Code Playgroud)

  • Linux内核Makefile允许您决定是否显示编译命令(在调试时这很有用).它们有条件地设置`Q = @`然后将命令写为`$(Q)$(CC)...`.现在您可以通过设置`Q =`来选择设置命令 (8认同)