ВУЗ:
Составители:
45
Иногда использование автоматических переменных совершенно
необходимо, например в шаблонных правилах.
Шаблонные правила
Шаблонные правила (implicit rules или pattern rules) – это правила,
которые могут быть применены к целой группе файлов. В этом их отли-
чие от обычных правил, описывающих отношения между конкретными
файлами. Традиционные реализации make поддерживают так называе-
мую «суффиксную» форму записи шаблонных правил:
.<расширение_файлов_зависимостей>.<расширение_файлов_целей>:
<команда_1>
<команда_2>
...
<команда_n>
Например, следующее правило гласит, что все файлы с расширени-
ем «o» зависят от соответствующих файлов с расширением «cpp»:
.cpp.o:
gcc -c $^
Для современной реализации make более предпочтительная сле-
дующая запись данной цели:
%.o: %.cpp
gcc -c $^ -o $@
Следует обратить внимание на использование автоматической пе-
ременной $^ для передачи компилятору имени файла-зависимости. По-
скольку шаблонное правило может применяться к разным файлам, ис-
пользование автоматических переменных – это единственный способ
узнать для каких файлов задействуется правило в данный момент. Шаб-
лонные правила позволяют упростить make-файл и сделать его более
универсальным. Рассмотрим простой проектный файл:
iEdit: main.o Editor.o TextLine.o
gcc $^ -o $@
main.o: main.cpp
gcc -c $^
Editor.o: Editor.cpp
gcc -c $^
TextLine.o: TextLine.cpp
gcc -c $^
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »