Как сделать правильный make-файл на C - PullRequest
0 голосов
/ 27 апреля 2018

до сих пор я изучил этот вид make-файла:

     finalcode : code.o
          gcc -g -ansi -Wall -pedantic code.o -o finalcode
     code.o : code.c
          gcc -c -ansi -Wall -pedantic code.c -o code.o

Я заинтересован в изучении лучшей версии

        all:
        clean:
etc..

где я могу научиться писать более "профессиональный" make-файл? заранее спасибо!

1 Ответ

0 голосов
/ 27 апреля 2018

То есть вы просто хотите типичные «фальшивые» цели? Это просто, сделайте all первым правилом (так, чтобы оно использовалось по умолчанию) и оно зависело от всего, что вы хотите построить, например ::

.
all: finalcode

Затем, в clean, просто напишите скрипт для удаления того, что должно быть очищено, например ::

clean:
    rm -f *.o

Наконец, не забудьте сделать эти правила «фальшивыми», так что make знает, что на самом деле они не создают файлы с такими именами:

.PHONY: all clean

Готово.


Что касается слова "профессионал", то это весьма субъективно, но я бы начал с определения переменных для компилятора (CC), флагов (CFLAGS), включений и т. Д. И используют эти , Если вы в порядке с небольшой потерей переносимости, используйте шаблонные правила, например, для создания объектных файлов, таких как

%.o: %.c
    $(CC) -c -o$@ $(CFLAGS) $(INCLUDES) $<
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...