Файл Makefile не является исполняемым, поэтому для выполнения заложенного в него алгоритма нужна какая-то программа. Эта программа называется make и входит в пакет GCC. Она анализирует содержимое этого файла. Программа make в полной мере используется только программистами, поэтому следует отметить лишь то, что если она запущена без указания каких-либо параметров, то выполняется поиск файла под названием Makefile в текущем каталоге, а с указанием имени файла алгоритм читается из указанного файла. В параметрах можно указывать, какую стадию алгоритма выполнять. В большинстве файлов Makefile существует по крайней мере три таких стадии со следующими названиями: all, install, clear.
Первая стадия, all, заключается в выполнении всей работы по сборке исполняемых файлов из исходных текстов. Если вы хотите выполнить эту стадию, то ее имя при запуске программы make указывать не нужно. Полезно знать, каким образом идет сборка исполняемых файлов. Представьте себе конструктор, из которого можно сделать что угодно – дома, машины, деревья или людей. Отдельно друг от друга эти объекты имеют небольшую ценность, но если собрать все элементы вместе, то получится целая улица с домами, машинами, людьми и деревьями. При сборке исполняемых файлов все происходит так же: из каждого исходного файла собирается отдельный модуль, который имеет расширение О (от этих модулей обычному пользователю нет никакой пользы), а затем все модули собираются в одну рабочую программу.
Готовый исполняемый файл еще не означает, что он будет работать. Для некоторых программ важно наличие определенных файлов в определенных каталогах, поэтому для завершения установки используется вторая стадия – install. В течение этой стадии происходит копирование исполняемого файла из каталога с исходным кодом в определенный каталог, а также устанавливаются необходимые служебные файлы, файлы справки и т. д. По успешном завершении этой операции можете считать, что программа готова к работе.
Однако это еще не все. Помните, что остались файлы модулей, из которых собирался исполняемый файл. Если программа установилась успешно, то эти файлы больше не нужны. Их можно автоматически удалить на третьей стадии – clean.
Обобщая все сказанное выше, можно выделить следующий алгоритм компиляции программного обеспечения из исходного кода, который применим к большой части пакетов.
- Зайти в корневой каталог дерева с исходным кодом.
- Выполнить команду ./configure.
- Выполнить команду make.
- Выполнить команду make install.
- Выполнить команду make clean.
Возникновение ошибок в процессе выполнения третьего шага означает, что в системе не хватает каких-то библиотек. В этом случае обратитесь к файлам INSTALL и README.