make install
Не все Makefile
автор хочет это сделать. Как правило, к этому моменту уже слишком поздно менять каталог установки, как его часто называют ранее, во время сборки, поэтому на файлы справки и файлы конфигурации можно ссылаться с правильными путями.
многие проекты используют GNU Autotools попытаться улучшить их переносимость среди аппаратных средств и различий в операционной системе. (Различные варианты Unix используют немного разные заголовки для объявлений функций, которые немного отличаются от обычного пути-за исключением того, что большинству программ нужны те или иные из них, объявленные в разных местах.)
когда проект использует Autotools, обычная мантра для его установки:
./configure
make
make install
на ./configure
обычно позволяет использовать параметр командной строки, например --prefix /opt/apache
или что-то подобное, чтобы указать другой путь. /usr/local/
является общим значением по умолчанию prefix
. Это гораздо проще для локально построенных программное обеспечение для проживания в одном месте и дистрибутив-предоставляется программное обеспечение для проживания в "главных каталогах":/usr/
/bin/
и так далее. (Упаковщики очень осторожно никогда touch файлы в /usr/local/
-- они знают, что это исключительно для системных администраторов.)
все равно ./configure --prefix /path/to/new/prefix
установит переменную в Makefile
, который доступен при компиляции программы, изменении справочных страниц, чтобы они указывали на правильные местоположения файлов, изменении файлы конфигурации и т. д. Так make
построит програмное обеспечение специфически для положения установки вы хотите и make install
установит его в эту папку.
большинство программ могут работать даже без final make install
шаг -- просто ./program_name
часто будет запускать их. Это определенно вещь для каждого проекта - некоторые, как postfix
,qmail
, etc. состоят из различных движущихся частей и полагаться на них все вместе. Другие, как ls
или su
может быть самодостаточный достаточно, чтобы выполнить штраф из каталога, в котором они были построены. (Это не часто полезно - но иногда очень полезное.)
однако не все проекты используют Autotools -- они огромный,сложные, и несчастный для поддержания. Рукописный Makefile
s намного проще писать, и я лично думаю, что просто распространяю простой Makefile
настройки переменных намного проще для разработчиков и пользователей оба. (Хотя ./configure ; make ; make install
мантра действительно легкий на потребителях когда оно работает.)