./configure --prefix=***
Nomor 1 menentukan ke mana paket akan pergi ketika diinstal, dan di mana ia akan mencari file terkait ketika dijalankan. Itu yang harus Anda gunakan jika Anda hanya mengkompilasi sesuatu untuk digunakan pada satu host.
make install DESTDIR=***
Nomor 2 adalah untuk menginstal ke direktori sementara yang bukan dari mana paket akan dijalankan. Misalnya ini digunakan saat membuat deb
paket. Orang yang membuat paket tidak benar-benar menginstal semuanya ke tempat terakhirnya di sistemnya sendiri. Dia mungkin sudah menginstal versi yang berbeda dan tidak ingin mengganggunya, atau dia bahkan mungkin bukan root. Jadi dia menggunakan
./configure --prefix=/usr
jadi program akan dipasang di /usr
saat dijalankan, lalu
make install DESTDIR=debian/tmp
untuk benar-benar membuat struktur direktori.
make install prefix=***
Nomor 3 akan menginstalnya ke tempat lain tetapi tidak membuat semua direktori sebagai DESTDIR=/foo/bar/baz
akan. Ini biasanya digunakan dengan penyimpanan GNU via
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, yang akan memasang binari di /usr/local/stow/foo/bin
. Sebagai perbandingan,
make install DESTDIR=/usr/local/stow/foo
akan memasang binari di /usr/local/stow/foo/usr/local/bin
.
Ini dapat membantu mengilustrasikan penggunaan DESTDIR
dan --prefix
(dari sini):
Beberapa pemasangan menggunakan --prefix dan DESTDIR:
Sepcify lokasi/opsi --prefix yang berbeda untuk setiap build - pada waktu konfigurasi. Misalnya:
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