./configure --prefix=***
Numero 1 determina dove andrà il pacchetto quando viene installato e dove cercherà i file associati quando viene eseguito. È quello che dovresti usare se stai solo compilando qualcosa da usare su un singolo host.
make install DESTDIR=***
Numero 2 serve per l'installazione in una directory temporanea che non è quella da cui verrà eseguito il pacchetto. Ad esempio, questo viene utilizzato durante la creazione di deb
pacchi. La persona che crea il pacchetto in realtà non installa tutto nella sua posizione finale sul proprio sistema. Potrebbe avere già installata una versione diversa e non volerla disturbare, oppure potrebbe anche non essere root. Quindi usa
./configure --prefix=/usr
quindi il programma si aspetterà di essere installato in /usr
quando viene eseguito, allora
make install DESTDIR=debian/tmp
per creare effettivamente la struttura della directory.
make install prefix=***
Numero 3 lo installerà in un posto diverso ma non creerà tutte le directory come DESTDIR=/foo/bar/baz
voluto. È comunemente usato con GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, che installerebbe i binari in /usr/local/stow/foo/bin
. In confronto,
make install DESTDIR=/usr/local/stow/foo
installerebbe i binari in /usr/local/stow/foo/usr/local/bin
.
Questo può aiutare a illustrare l'uso di DESTDIR
e --prefix
(da qui):
Installazioni multiple utilizzando --prefix e DESTDIR:
Specifica una diversa posizione/opzione --prefix per ogni build - al momento della configurazione. Ad esempio:
untar petsc tar ball ./configure --prefix=/opt/petsc/petsc-3.9.0-mpich --with-mpi-dir=/opt/mpich make make install DESTDIR=/tmp/petsc-pkg untar petsc tar ball ./configure --prefix=/opt/petsc/petsc-3.9.0-openmpi --with-mpi-dir=/opt/openmpi make make install DESTDIR=/tmp/petsc-pkg