./configure --prefix=***
Numer 1 określa, gdzie pakiet trafi po zainstalowaniu i gdzie będzie szukał powiązanych z nim plików, gdy zostanie uruchomiony. To jest to, czego powinieneś użyć, jeśli kompilujesz coś do użytku na jednym hoście.
make install DESTDIR=***
Numer 2 dotyczy instalacji w katalogu tymczasowym, z którego nie będzie uruchamiany pakiet. Na przykład jest to używane podczas budowania deb
pakietów. Osoba budująca pakiet w rzeczywistości nie instaluje wszystkiego w swoim ostatecznym miejscu we własnym systemie. Może mieć już zainstalowaną inną wersję i nie chce jej przeszkadzać lub może nawet nie być rootem. Więc używa
./configure --prefix=/usr
więc program będzie oczekiwał, że zostanie zainstalowany w programie /usr
po uruchomieniu
make install DESTDIR=debian/tmp
aby faktycznie stworzyć strukturę katalogów.
make install prefix=***
Numer 3 zainstaluje go w innym miejscu, ale nie utworzy wszystkich katalogów DESTDIR=/foo/bar/baz
. Jest powszechnie używany z GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, który zainstalowałby pliki binarne w /usr/local/stow/foo/bin
. W stosunku,
make install DESTDIR=/usr/local/stow/foo
zainstalowałby pliki binarne w /usr/local/stow/foo/usr/local/bin
.
cmake -DCMAKE_INSTALL_PREFIX=/foo/bar/baz -P cmake_install.cmake
w katalogu kompilacji.