./configure --prefix=***
O número 1 determina para onde o pacote irá quando for instalado e onde procurará seus arquivos associados quando for executado. É o que você deve usar se estiver apenas compilando algo para usar em um único host.
make install DESTDIR=***
O número 2 é para instalar em um diretório temporário que não é de onde o pacote será executado. Por exemplo, isso é usado ao construir deb
pacotes. A pessoa que está construindo o pacote não instala tudo em seu lugar final em seu próprio sistema. Ele pode já ter uma versão diferente instalada e não querer perturbá-la, ou pode nem mesmo ser root. Então ele usa
./configure --prefix=/usr
então, o programa deverá ser instalado /usr
quando for executado, então
make install DESTDIR=debian/tmp
para realmente criar a estrutura de diretório.
make install prefix=***
O número 3 irá instalá-lo em um local diferente, mas não criará todos os diretórios como DESTDIR=/foo/bar/baz
faria. É comumente usado com GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, que instalaria binários em /usr/local/stow/foo/bin
. Por comparação,
make install DESTDIR=/usr/local/stow/foo
iria instalar binários em /usr/local/stow/foo/usr/local/bin
.
cmake -DCMAKE_INSTALL_PREFIX=/foo/bar/baz -P cmake_install.cmake
no diretório de construção.