Yanıtlar:
./configure --prefix=***
1 numara , paketin kurulduğunda nereye gideceğini ve çalıştırıldığında ilişkili dosyaları nerede arayacağını belirler. Tek bir ana bilgisayarda kullanılmak üzere bir şeyler derliyorsanız kullanmanız gereken şey budur.
make install DESTDIR=***
Numara 2 , paketin çalıştırılacağı yer olmayan geçici bir dizine kurmak içindir. Örneğin bu, deb
paketler oluştururken kullanılır . Paketi oluşturan kişi aslında her şeyi kendi sistemindeki son yerine yüklemiyor. Zaten yüklenmiş farklı bir sürümü olabilir ve onu rahatsız etmek istemeyebilir veya root bile olmayabilir. Bu yüzden kullanır
./configure --prefix=/usr
bu nedenle program /usr
çalıştığında yüklenmeyi bekler.
make install DESTDIR=debian/tmp
aslında dizin yapısını oluşturmak için.
make install prefix=***
Number 3 onu farklı bir yere kuracak, ancak tüm dizinleri olduğu gibi oluşturmayacak DESTDIR=/foo/bar/baz
. Yaygın olarak GNU stow ile kullanılır.
./configure --prefix=/usr/local && make && sudo make install prefix=/usr/local/stow/foo
, bu da ikilileri yükler /usr/local/stow/foo/bin
. Kıyasla,
make install DESTDIR=/usr/local/stow/foo
ikili dosyaları yükler /usr/local/stow/foo/usr/local/bin
.
mv usr/local/* . && rmdir usr/local && rmdir usr
tipik olarak - kullanmak prefix=
çok daha iyi!
DESTDIR=/tmp/foo make install
; cmake tabanlı projeler için, cmake -DCMAKE_INSTALL_PREFIX=/tmp/test1 -P cmake_install.cmake
hangi kurulumlara daha fazla şansım oldu /tmp/foo/{bin,...}
; Örnek için bkz. github.com/opencv/opencv/issues/11833#issuecomment-401164056 .
DESTDIR
ve birlikte prefix
kullanılabilir make install
, yani make install DESTDIR=/foo/bar/tmp perfix=/local
.
Bu, DESTDIR
ve --prefix
( buradan ) kullanımının gösterilmesine yardımcı olabilir :
--Prefix ve DESTDIR kullanarak birden çok yükleme:
Yapılandırma sırasında her derleme için farklı bir --prefix konumu / seçeneği ayırın. Örneğin:
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
itibaren openssl/INSTALL
Kitaplığı standart konumlar için yapılandırmak isteyen, ancak paketi başka bir yere yükleyerek kolayca paketlenmesini isteyen paket oluşturucular,
$ make INSTALL_PREFIX=/tmp/package-root install
(veya yapılandırma seçeneği olarak "--install_prefix = / tmp / package-root" seçeneğini belirtin). Belirtilen önek, tüm yükleme hedefi dosya adlarının başına eklenecektir.
Bu standart değildir, ancak INSTALL_PREFIX bazı diğer programlarda kullanılır.
Bu, 1.1.x'ten önceki OpenSSL sürümleri için geçerlidir. OpenSSL 1.1.x ve sonraki sürümleri her zamanki gibi tanıyabilir DESTDIR
.
cmake -DCMAKE_INSTALL_PREFIX=/foo/bar/baz -P cmake_install.cmake
, yapı dizininde çalıştırarak "case 4" (stow vb. İçin) taklit edebilirsiniz .