Выбор главной цели
Главная цель может быть прямо указана в командной строке при запуске make. В следующем примере make будет стремиться достичь цели iEdit (получить новую версию файла iEdit):
make iEdit
А в этом примере make должна достичь цели clean (очистить директорию от объектных файлов проекта):
make clean
Если не указывать какой-либо цели в командной строке, то make выбирает в качестве главной первую, встреченную в make-файле цель. В следующем примере:
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
из четырех перечисленных в make-файле целей (iEdit, main.o, Editor.o, TextLine.o, clean) по умолчанию в качестве главной будет выбрана цель iEdit. Схематично, "верхний уровень" алгоритма работы make можно представить так:
make() { главная_цель = ВыбратьГлавнуюЦель()
ДостичьЦели( главная_цель ) }