Операционные системы. Замятин А.В - 43 стр.

UptoLike

Составители: 

43
Рассмотрим еще один пример работы утилиты make в условиях, ко-
гда для обработки описанного выше make-файла будет выполнена ко-
манда
make clean
Цель явно указана в командной строке, поэтому главной целью
становится абстрактная цель clean. Цель clean передается функции
«ДостичьЦели». Эта функция ищет правило, которое описывает обраба-
тываемую цель. Это будет пятое правило make-файла. Для найденного
правила запускается процедура обработки (функция «ОбработатьПра-
вило»).
Поскольку в правиле не указано каких-либо зависимостей, make
сразу переходит к этапу обработки указанных в правиле команд. Цель
является именем действия, поэтому команды нужно выполнять. Указан-
ные в правиле команды выполняются, и цель clean, таким образом, счи-
тается достигнутой. На этом программа make завершает работу.
Использование переменных
Возможность использования переменных внутри make-файла
очень удобное и часто используемое свойство make. В традиционных
версиях утилиты, переменные ведут себя подобно макросам языка С.
Для задания значения переменной используется оператор присваивания.
Например, выражение
obj_list := main.o Editor.o TextLine.o
присваивает переменной obj_list значение «main.o Editor.o TextLine.o»
(без кавычек). Пробелы между символом «=» и началом первого слова
игнорируются. Следующие за последним словом пробелы также. Значе-
ние переменной можно использовать с помощью конструкции
$(имя_переменной)
Например, при обработке такого make-файла
dir_list := . .. src/include
all:
echo $(dir_list)
на экран будет выведена строка
. .. src/include
Переменные могут не только содержать текстовые строки, но и
«ссылаться» на другие переменные. Например, в результате обработки
make-файла