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

UptoLike

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

37
clean_all: clean_obj
rm iEdit
clean_obj:
rm *.o
Для того, чтобы достичь цели clean_all, необходимо сначала вы-
полнить действие (достигнуть цели) clean_obj.
Команды это действия, которые необходимо выполнить для об-
новления либо достижения цели. В следующем примере командой явля-
ется вызов компилятора gcc. Утилита make отличает строки, содержа-
щие команды, от прочих строк make-файла по наличию символа табуля-
ции (символа с кодом 9) в начале строки:
iEdit: main.o Editor.o TextLine.o
gcc main.o Editor.o TextLine.o -o iEdit
В приведенном выше примере строка gcc main.o Editor.o TextLine.o
-o iEdit должна начинаться с символа табуляции.
Общий алгоритм работы make
Типичный make-файл проекта содержит несколько правил. Каждое
из правил имеет некоторую цель и некоторые зависимости. Смыслом
работы make является достижение цели, которую она выбрала в качест-
ве главной цели (default goal). Если главная цель является именем дей-
ствия (т. е. абстрактной целью), то смысл работы make заключается в
выполнении соответствующего действия. Если же главная цель является
именем файла, то программа make должна построить самую «свежую»
версию указанного файла.
Выбор главной цели. Главная цель может быть прямо указана в
командной строке при запуске make. В следующем примере make будет
стремиться достичь цели iEdit (получить новую версию файла iEdit)
make iEdit
В этом примере make должна достичь цели clean (очистить дирек-
торию от объектных файлов проекта)
make clean
Если не указывать какой-либо цели в командной строке, то make
выбирает в качестве главной первую встреченную в make-файле цель.
В следующем примере из четырех перечисленных в make-файле целей
(iEdit, main.o, Editor.o, TextLine.o, clean) по умолчанию в качестве глав-
ной будет выбрана цель iEdit: