Использование утилиты Make

Утилита Make используется для автоматизации разработки программ. Для этого в текстовом файле с именем makefile указывается следующая информация:

- целевые файлы (цели), которые необходимо построить;

- правила для их построения;

- зависимости, определяющие когда данную цель необходимо перестроить заново.

Так, для программы из задания 2.2 makefile может иметь следующий вид:

CFLAGS=-c

CC=gcc

obr: main.o obr.o

<Tab> $(CC) -o obr main.o obr.o

main.o: main.c

<Tab> $(CC) $(CFLAGS) main.c

obr.o: obr.c

<Tab> $(CC) $(CFLAGS) obr.c

 

Здесь слева от ':' указана цель, справа - ее зависимости. Правило для построения цели указано на следующей строке, которая должна начинаться с символа табуляции. CC и CFLAGS - переменные утилиты Make (в данном примере CC задает имя компилятора, CFLAGS - опцию компилятора ). Значение для переменной может быть задано в файле makefile (как в примере) и/или в командной строке (например, $make CC=g++).

После подготовки файла makefile для создания исполняемой программы достаточно ввести команду

$make или

$make имя_make_файла (если имя_make_файла отлично от makefile)

По этой команде утилита Make выполнит файл makefile из текущего каталога и автоматически перетранслирует только те файлы, которые необходимо.

 

Задание 3.

3.1. Создайте файл makefile для программы из задания 2.2, предварительно удалив файлы *.o и obr из текущего каталога. Затем выполните команду

$make

Запишите в отчет текст файла makefile с пояснениями и команды, выполненные утилитой Make.

3.2. Незначительно модифицируйте файл obr.c, выполните команду $make и запишите команды, выполненные утилитой Make.

3.3.Выполните команду $make, задав в командной строке через переменную CC другое имя компилятора - g++.