Операционные системы. Теория и практика. Замятин А.В. - 209 стр.

UptoLike

Составители: 

209
Для современной реализации 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 $^
Все исходные тексты программы обрабатываются одинаково: для
них вызывается компилятор gcc. С использованием шаблонных правил
этот пример можно переписать так:
iEdit: main.o Editor.o TextLine.o
gcc $^ -o $@
%.o: %.cpp
gcc -c $^
Когда make ищет в файле проекта правило, описывающее способ
достижения искомой цели (см. п. «Достижение цели», функция «Найти-
Правило»), то в расчет принимаются и шаблонные правила. Для каждого
из них проверяется, нельзя ли задействовать это правило для достиже-
ния искомой цели.
Пример создания более сложного make-файла
Предыдущие два примера создания make-файлов существенно
упрощают создание проектов. Следует отметить, что работа по перечис-