make-файлы структурной распечатки программы

Ядро Linux (и различные другие проекты включая мерзавца) имеет очень хорошие make-файлы, которые скрывают гигантские вызовы CC в миленькие акронимы.

Например:

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

стал бы:

CC cool.c
CC neat.c

Который действительно хорош, если у Вас есть проект с большим количеством файлов и длинных флагов компилятора. Я вспоминаю, что это имело отношение к подавлению вывода по умолчанию и созданию пользовательского. Как дела это?

19
задан wickedchicken 3 June 2010 в 21:28
поделиться

1 ответ

Вы можете предварять @ к вызовам в целевых объектах makefile.

Например:

%.o: %.c
    @$(CC) $(CFLAGS) -c -o $@ $<
    @echo "CC $<"
24
ответ дан 30 November 2019 в 04:33
поделиться