./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 debpacotes. 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 /usrquando 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/bazfaria. É 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.cmakeno diretório de construção.