Эффективное использование GNU Make

Автоматические переменные


Программа 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".

Иногда использование автоматических переменных совершенно необходимо - например, в шаблонных правилах (о них пойдет речь в следующей главе).

Содержание раздела