Make
Утилита предназначенная для автоматизации преобразования файлов из одной формы в другую. Правила преобразования задаются в скрипте с именем Makefile, который должен находиться в корне рабочей директории проекта. Сам скрипт состоит из набора правил, которые в свою очередь описываются:
целями (то, что данное правило делает);
реквизитами (то, что необходимо для выполнения правила и получения целей);
командами (выполняющими данные преобразования).
В общем виде синтаксис makefile можно представить так:
# Каждой команде должен предшествовать отступ
<цели>: <реквизиты>
<команда 1>
...
<команда n>
Простейший Makefile
# Каждой команде должен предшествовать отступ
hello_make: main.c
clang -o hello_make main.c
Запуск:
> make hello_make
Более сложный makefile, позволяющий собрать программу, очистить рабочий каталог, используя для этого стандартные make цели. Для того чтобы make не искал файлы с такими именами, их следует определить в Makefile, при помощи директивы .PHONY. Далее показан пример Makefile с целями all, clean:
TARGET = hello_make
.PHONY: all clean
all: $(TARGET)
clean:
rm -rf $(TARGET) *.o
main.o: main.c
gcc -c -o main.o main.c
hello.o: hello.c
gcc -c -o hello.o hello.c
$(TARGET): main.o hello.o
gcc -o $(TARGET) main.o hello.o
Запуск:
> make # make all
> make clean
Last updated