Il numero 1 determina dove verrà spostato il pacchetto quando viene installato e dove cercherà i file associati quando viene eseguito. È quello che dovresti usare se stai compilando qualcosa da usare su un singolo host.
Numero 2 è semplicemente un errore per quanto ne so.
Numero 3 è per l'installazione in una directory temporanea che non è dove il pacchetto sarà eseguito da. Ad esempio questo viene utilizzato quando si creano pacchetti deb
. 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 voler disturbarla, oppure potrebbe non essere nemmeno root. Così egli utilizza
./configure --prefix=/usr
in modo che il programma si aspetta di essere installato in /usr
quando viene eseguito, quindi
make install DESTDIR=debian/tmp
per creare effettivamente la struttura della directory.
Numero 4 sta per installarlo in un luogo diverso, ma non creare tutte le directory come DESTDIR=/foo/bar/baz
avrebbe fatto. E 'comunemente usato con GNU Stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, che sarebbe installare i binari in /usr/local/stow/foo/bin
. Per confronto,
make install DESTDIR=/usr/local/stow/foo
installa i binari in /usr/local/stow/foo/usr/local/bin
. Questo è probabilmente quello che doveva essere lo numero 2.
fonte
2012-07-03 09:09:19
Per il secondo, non sono nemmeno sicuro. Alcune pagine dicono "make install PREFIX", mentre altre dicono "make install prefix" e "make install --prefix". Non li ho ancora provati. – Sean
È 'make install prefix = ...', vedere [Variabili per directory di installazione] (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html#Directory-Variables) – Ggicci
Queste non sono costruito nel fare. Il primo ovviamente non ha nulla a che fare con make; il secondo non è valido; il terzo funziona solo se i makefile sono stati scritti per utilizzare DESTDIR. Alcuni makefile non supportano DESTDIR o utilizzano un nome diverso (come INSTALL_ROOT o INSTALL_PREFIX). – davmac