C ve C ++ dünyasından gelen çoğu yapı sisteminin bir install
hedefi vardır, özellikle Makefiles ( örneğin GNU tarafından tavsiye edilir ) veya CMake . Bu hedef, işletim sisteminde çalışma zamanı dosyalarını (yürütülebilir dosyalar, kitaplıklar, ...) kopyalar (örneğin, C:\Program Files\
Windows'ta).
Bu gerçekten çılgınca hissediyor, çünkü benim için programları kurmak , aslında işletim sisteminin / paket yöneticisinin sorumluluğu olan derleme sisteminin sorumluluğu değil . Ayrıca, derleme sistemi veya derleme betiği yüklü değişkenlerin ortam değişkenleri, kayıt defteri değişkenleri, sembolik bağlantılar, izinler vb.
En iyi durumda, derleme sistemleri release
yüklenebilir bir program (örneğin .deb
veya .msi
) çıkaracak bir hedefe sahip olmalı ve işletim sisteminden bu programı yüklemesini rica etmelidir. Ayrıca kullanıcının yazmak zorunda kalmadan kaldırmasına da izin verir make uninstall
.
Öyleyse sorum: Yapı sistemi neden genellikle bir install
hedefe sahip olmayı öneriyor ?
make install
genellikle "çekirdek işletim sistemi / paket yönetim sistemi" tarafından ele alınmayan dizinler /usr/local
(hatta çiftler) altına kurulur /opt
. Windows'un benzer bir konvansiyona sahip olup olmadığı hakkında hiçbir fikrim yok.
make install
Çapraz derleme hakkında konuştuğumuzda bunun mantıklı olmadığını unutmayın
DESTDIR
.