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

UptoLike

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

41
Следует отметить, что подобный подход имеет ряд недостатков.
Во-первых, утилита make не рационально расходует время, выполняя
поиск несуществующих имен файлов, которые на самом деле являются
именами действий. Во-вторых, при подобном подходе имена действий
не должны совпадать с именами каких-либо файлов или директорий,
иначе make-файл будет выполняться ошибочно.
Некоторые версии make предлагают свои варианты решения этой
проблемы. Так, например, в утилите GNU make имеется механизм (спе-
циальная цель .PHONY), с помощью которого можно указать, что дан-
ное имя является именем действия.
2.1.2. Пример практического использования утилиты make
Пример создания простейшего make-файла
Рассмотрим, как утилита make будет обрабатывать такой make-
файл (makefile):
iEdit: main.o Editor.o TextLine.o
gcc main.o Editor.o TextLine.o -o iEdit
main.o: main.cpp
gcc -c main.cpp
Editor.o: Editor.cpp
gcc -c Editor.cpp
TextLine.o: TextLine.cpp
gcc -c TextLine.cpp
clean:
rm *.o
Предположим, что в директории с проектом находятся следующие
файлы:
main.cpp
Editor.cpp
TextLine.cpp
Предположим также, что программа make была вызвана следую-
щим образом:
make
Цель не указана в командной строке, поэтому запускается алгоритм
выбора цели (функция «ВыбратьГлавнуюЦель»). Главной целью стано-
вится файл iEdit (первая цель из первого правила). Цель iEdit передается