./configure --prefix=***
Число 1 визначає, куди піде пакет при його встановленні та де він буде шукати пов'язані з ним файли під час його запуску. Це те, що вам слід використовувати, якщо ви просто збираєте щось для використання на одному хості.
make install DESTDIR=***
Номер 2 призначений для встановлення у тимчасовий каталог, в якому не буде запускатися пакет. Наприклад, це використовується при складанні deb
пакетів. Особа, яка будує пакет, насправді не встановлює все на остаточне місце у власній системі. У нього може бути вже встановлена інша версія, і він не хоче її турбувати, або він навіть не може мати root. Тому він використовує
./configure --prefix=/usr
тож програма очікує встановлення, /usr
коли вона запущена
make install DESTDIR=debian/tmp
фактично створити структуру каталогів.
make install prefix=***
Число 3 збирається встановити його в інше місце, але не створить усі каталоги так, як DESTDIR=/foo/bar/baz
хотілося б. Він зазвичай використовується у GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, який би встановив двійкові файли в /usr/local/stow/foo/bin
. Для порівняння,
make install DESTDIR=/usr/local/stow/foo
встановив бинарні файли в /usr/local/stow/foo/usr/local/bin
.
cmake -DCMAKE_INSTALL_PREFIX=/foo/bar/baz -P cmake_install.cmake
в каталог збірки.