ВУЗ:
Составители:
208
Использование автоматических переменных
Автоматические переменные – это переменные со специальными
именами, которые «автоматически» принимают определенные значения
перед выполнением описанных в правиле команд. Автоматические пе-
ременные можно использовать для «упрощения» записи правил. Такое,
например, правило
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». Если бы в примере была использована сле-
дующая автоматическая переменная $<, то она указывала бы на первое
имя зависимости, т. е. в данном случае на файл main.o.
Иногда использование автоматических переменных совершенно
необходимо, например в шаблонных правилах.
Шаблонные правила
Шаблонные правила (implicit rules или pattern rules) – это правила,
которые могут быть применены к целой группе файлов. В этом их отли-
чие от обычных правил, описывающих отношения между конкретными
файлами. Традиционные реализации make поддерживают так называе-
мую «суффиксную» форму записи шаблонных правил:
.<расширение_файлов_зависимостей>.<расширение_файлов_целей>:
<команда_1>
<команда_2>
...
<команда_n>
Например, следующее правило гласит, что все файлы с расширени-
ем «o» зависят от соответствующих файлов с расширением «cpp»:
.cpp.o:
gcc -c $^
Страницы
- « первая
- ‹ предыдущая
- …
- 206
- 207
- 208
- 209
- 210
- …
- следующая ›
- последняя »
