./configure --prefix=***
Číslo 1 určuje, kam se balíček přesune, když je nainstalován, a kde bude hledat přidružené soubory, když bude spuštěn. Je to to, co byste měli použít, pokud pouze kompilujete něco pro použití na jednom hostiteli.
make install DESTDIR=***
Číslo 2 slouží k instalaci do dočasného adresáře, ze kterého nebude balíček spouštěn. Toto se například používá při sestavování deb
balíčky. Osoba sestavující balíček ve skutečnosti neinstaluje vše na své konečné místo ve svém vlastním systému. Může mít již nainstalovanou jinou verzi a nechce ji rušit, nebo dokonce nemusí být root. Takže používá
./configure --prefix=/usr
takže program bude očekávat instalaci v /usr
když to běží, tak
make install DESTDIR=debian/tmp
k vytvoření adresářové struktury.
make install prefix=***
Číslo 3 ho nainstaluje na jiné místo, ale nevytvoří všechny adresáře jako DESTDIR=/foo/bar/baz
bych. Běžně se používá s GNU stow via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, který by nainstaloval binární soubory v /usr/local/stow/foo/bin
. Pro srovnání,
make install DESTDIR=/usr/local/stow/foo
by nainstaloval binární soubory v /usr/local/stow/foo/usr/local/bin
.
To může pomoci ilustrovat použití DESTDIR
a --prefix
(odsud):
Vícenásobné instalace pomocí --prefix a DESTDIR:
Určete jiné umístění/možnost --prefix pro každé sestavení - v době konfigurace. Například:
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