ВУЗ:
Составители:
206
Цель main.o достигнута (объектный файл main.o построен). Теперь
make возвращается к обработке остальных зависимостей первого прави-
ла. Зависимости Editor.o и TextLine.o обрабатываются аналогично. Для
них выполняются те же действия, что и для зависимости main.o.
После того, как все зависимости (main.o, Editor.o и TextLine.o) об-
работаны, решается вопрос о необходимости выполнения указанных в
правиле команд (функция «НужноВыполнятьКоманды»).
Поскольку цель (iEdit) является именем файла, который в данный
момент не существует, то принимается решение выполнить описанную в
правиле команду (функция «ВыполнитьКоманды»).
Содержащаяся в правиле команда запускает компилятор gcc, в ре-
зультате чего создается исполняемый (бинарный) файл iEdit. Таким об-
разом, главная цель (iEdit) достигнута. На этом программа make завер-
шает свою работу.
Рассмотрим еще один пример работы утилиты make в условиях, ко-
гда для обработки описанного выше make-файла будет выполнена ко-
манда
make clean
Цель явно указана в командной строке, поэтому главной целью ста-
новится абстрактная цель clean. Цель clean передается функции «До-
стичьЦели». Эта функция ищет правило, которое описывает обрабаты-
ваемую цель. Это будет пятое правило make-файла. Для найденного
правила запускается процедура обработки (функция «ОбработатьПрави-
ло»).
Поскольку в правиле не указано каких-либо зависимостей, make
сразу переходит к этапу обработки указанных в правиле команд. Цель
является именем действия, поэтому команды нужно выполнять. Указан-
ные в правиле команды выполняются, и цель clean, таким образом, счи-
тается достигнутой. На этом программа make завершает работу.
Использование переменных
Возможность использования переменных внутри make-файла –
очень удобное и часто используемое свойство make. В традиционных
версиях утилиты, переменные ведут себя подобно макросам языка С.
Для задания значения переменной используется оператор присваивания.
Например, выражение
Страницы
- « первая
- ‹ предыдущая
- …
- 204
- 205
- 206
- 207
- 208
- …
- следующая ›
- последняя »
