make installMakefileyazar ne yapmak isterse onu yapar. Genellikle, bu noktada, derleme sırasında genellikle daha önce bilindiği gibi yükleme dizinini değiştirmek için çok geç , bu nedenle yardım dosyalarına ve yapılandırma dosyalarına doğru yol adlarıyla başvuruda bulunabilir.
Pek çok proje, donanım ve işletim sistemi farklılıkları arasındaki taşınabilirliklerini geliştirmeye çalışmak için GNU Otomatik Araçlarını kullanır. (Farklı Unix değişkenleri, normal yoldan biraz uzakta olan işlev bildirimleri için biraz farklı başlıklar kullanır - çoğu program farklı yerlerde bildirilenlerden birine veya diğerine ihtiyaç duymaz.)
Bir proje Autotools kullandığında, yüklemek için normal mantra:
./configure
make
make install
./configureTipik bir komut satırı gibi seçeneğini kullanmanızı sağlar --prefix /opt/apacheveya farklı bir yol adı belirtmek için benzer bir şey. /usr/local/ortak bir varsayılandır prefix. : Bugüne "ana dizinleri" yaşamak için bir yer ve dağıtım sağlanan yazılım canlı yerel olarak inşa yazılım için daha kolaydır /usr/ /bin/, vb. (Paketleyiciler içindeki dosyalara asla dokunmamaya çok dikkat ederler - bunun yalnızca sistem yöneticileri için olduğunu bilirler.)/usr/local/
Neyse, ./configure --prefix /path/to/new/prefixbir değişken ayarlayacaktır Makefileyapılandırma dosyalarını değiştirerek, onlar dosyalar için doğru konumlara işaret böylece manuel sayfaları değiştirerek, programınızı hazırlarken mevcut olduğunu, vb Yani makeistediğiniz yükleme konumu için özel bir yazılım inşa edecek ve make installo konuma yükleyecektir.
Çoğu program son make installadım olmadan bile çalışabilir - ./program_namesık sık bunları başlatabilir. Bu kesinlikle Herbir proje şey - Bazı gibi postfix, qmailvb pek çok farklı hareketli parçadan oluşur ve bunlar birlikte çalışan tüm itimat edilir. Diğerleri, yerleşik oldukları dizinden para cezası uygulayacak kadar kendileri olabilir lsveya suyeteri kadar sahip olabilirler. (Bu genellikle yararlı değildir - ama bazen çok yararlıdır.)
Ancak, tüm projeler Oto Araçları kullanmaz - bakımı çok büyük , karmaşık ve sefildirler. Elle yazılanların Makefileyazması daha basittir ve şahsen sadece basit bir Makefileyapılandırma değişkenleriyle birlikte dağıtmanın hem geliştiriciler hem de kullanıcılar için daha kolay olduğunu düşünüyorum . ( ./configure ; make ; make installMantra işe yaradığında kullanıcılar üzerinde gerçekten kolay olsa da .)
make installprogramcı bakış açısıyla adımlarla yapılan olağan işlere genel bir bakış sunar .