Автоматические переменные
Программа GNU Make поддерживает большое число автоматических переменных. В своих make-файлах я использую следующие автоматические переменные:
Имя автоматической переменной | Значение |
$@ | Имя цели обрабатываемого правила |
$< | Имя первой зависимости обрабатываемого правила |
$^ | Список всех зависимостей обрабатываемого правила |
Полный список автоматических переменных приводится в разделе
"Automatic Variables"
руководства по GNU Make.
Автоматические переменные - это переменные со специальными именами, которые "автоматически" принимают определенные значения перед выполнением описанных в правиле команд. Автоматические переменные можно использовать для "упрощения" записи правил. Такое, например, правило:
iEdit: main.o Editor.o TextLine.o gcc main.o Editor.o TextLine.o -o iEdit
с использованием автоматических переменных можно записать следующим образом:
iEdit: main.o Editor.o TextLine.o gcc $^ -o $@
Здесь $^ и $@ являются автоматическими переменными. Переменная $^
означает "список зависимостей". В данном случае при вызове компилятора GCC
она будет ссылаться на строку "main.o
Editor.o TextLine.o". Переменная $@ означает "имя цели" и будет в этом примере ссылаться на имя "iEdit".
Иногда использование автоматических переменных совершенно необходимо - например, в шаблонных правилах (о них пойдет речь в следующей главе).