make install
робить все, що Makefile
хоче автор. Як правило, до цього моменту змінити каталог встановлення занадто пізно, як це часто відомо раніше , під час збирання, тому довідкові файли та файли конфігурації можуть посилатися на правильні імена шляхів.
Багато проектів використовують автоінструменти GNU, щоб спробувати покращити їх портативність серед апаратних та операційних систем. (У різних варіантах Unix використовується дещо різні заголовки для декларацій функцій, що знаходяться трохи поза звичайним шляхом - за винятком того, що більшості програм потрібна та чи інша з заявлених у різних місцях.)
Коли проект використовує Autotools, звичайна мантра його встановлювати:
./configure
make
make install
./configure
, Як правило , дозволяє використовувати параметр командного рядка , як --prefix /opt/apache
або що - щось подібне , щоб вказати інший шлях до файлу. /usr/local/
є загальним замовчуванням prefix
. Набагато простіше місцевому програмному забезпеченню жити в одному місці, а програмне забезпечення, що надається для дистрибуції, жити в "основних каталогах": /usr/
/bin/
тощо. (Пакувальники дуже обережні, щоб ніколи не торкатися файлів /usr/local/
- вони знають, що це виключно для системних адміністраторів.)
У будь-якому випадку, ./configure --prefix /path/to/new/prefix
засіб буде встановлювати змінну, Makefile
що є при компілюванні програми, зміна сторінок керівництва таким чином, щоб вони вказували на правильні місця розташування файлів, зміну конфігураційних файлів тощо. Отже, make
буде створено програмне забезпечення спеціально для потрібного місця установки та make install
встановить його в тому місці.
Більшість програм може запускатися навіть без останнього make install
кроку - просто ./program_name
часто їх запускати. Це, безумовно, річ, що стосується кожного проекту - деякі, як-то postfix
і qmail
т. Д., Складаються з безлічі різних рухомих творів і покладаються на них, що вони працюють разом. Інші, як-от ls
або su
можуть бути достатньо автономними, щоб виконати штрафи із каталогу, в який вони були вбудовані. (Це не часто корисно, але іноді дуже корисно.)
Однак не всі проекти використовують Autotools - вони величезні , складні та жалюгідні в обслуговуванні. Рукописні Makefile
s набагато простіші для запису, і я особисто думаю, що просто розповсюджувати просту Makefile
з наявними змінними конфігурації набагато простіше для розробників та користувачів. (Хоча ./configure ; make ; make install
мантра дійсно проста для користувачів, коли вона працює.)
make install
кроками з точки зору програмістів.