Linux'ta Derleme: İkili Dosyalar Oluşturmak İçin 3 Adım 🔥
Önemli Özet
- Çoğu yazılım kaynak kodundan derlemek için 3 adımlı bir süreci takip eder:
./configure && make && make install
. - Senaryo yapılandırmak bağımlılıkları kontrol eder, yapmak yürütülebilir dosyayı ve aşağıdaki gibi araçları üretir autoconf/automake Bu süreci otomatikleştirin.
- Kurulum genellikle isteğe bağlıdır ve dizinlere kopyalanan komutların çalıştırılmasını kolaylaştırır.
YOL
sistemin.
Kaynak koddan derleme, paket yöneticilerini kullanmaya kıyasla göz korkutucu görünebilir, ancak üç temel komutla süreç basit ve anlaşılırdır. 🚀
Kaynak Koddan Derleme Nedir?
Kullandığınız programlar yorumlanabilir veya derlenebilir. Yorumlanan programlar, başka bir programın (yorumlayıcının) gerçek zamanlı olarak çalıştırdığı kod içeren metin dosyalarıdır. Derlenen programlar ise çalıştırılmaya hazır makine kodu içeren ikili dosyalardır.
Derlenmiş yürütülebilir dosyalar, özellikle büyük programlarda oldukça yaygındır. Kaynak koddan derlediğinizde,sas derleyicisi gibi gcc
Kodu, genellikle birden fazla dosyaya dağıtılmış, çalıştırılabilir bir programa dönüştürmek.

Derleme süreci kapsamlı ve karmaşık olabilir, bu nedenle genellikle aşağıdaki gibi programlarla otomatikleştirilir: yapmak
Dosyalar makefile'lar Son yürütülebilir dosyanın nasıl oluşturulacağını kontrol edin.
Büyük projelerde bunlar makefile'lar Bunlar o kadar karmaşık olabilir ki, aşağıdaki gibi araçlarla otomatik olarak üretilebilirler: otomatik yapılandırma Ve otomobil markası farklı mimariler arasında uyumluluğu sağlamak için. 🛠️
3 Adımlı Yapım Süreci: Yapılandırın, Oluşturun, Yükleyin
Çoğu yazılım kaynak kodundan derleme yapmak için şu temel kalıbı kullanır:
./configure && make && make install
Apache gibi popüler programlar bu diziyi (veya bir çeşidini) kullanır, örneğin: dosyasını açıklıyor DÜZENLEMEK:

Node.js de BUILDING.md dosyasında belirtildiği gibi bu yapıyı takip eder:

Her proje bu komut dizesinden ufak farklılıklar gösterebilir. Mantıksal VE operatörünü kullanın (&&
) herhangi bir adım başarısız olursa işlemi durdurur:
./configure && make && make install
Veya her komutu tek bir satırda noktalı virgülle ayrı ayrı çalıştırabilirsiniz, ancak bu, herhangi biri başarısız olursa tüm komutların durmadan çalışmasını sağlar:
./configure; yap; kurulumunu yap
Üç satırı ayrı ayrı da yapabilirsiniz:
./configure make make install
Programı kurmadan sadece denemek istiyorsanız, atlayabilirsiniz. kurulumunu yap
ve klasöründen çalıştırın.
yapılandırmak
Hazır, diğerleri (örneğin grep) ise oluşturmak için önce başka bir betiğin çalıştırılmasını gerektirir. Projenin önerilerini takip etmek için her zaman INSTALL, BUILD veya README dosyasına başvurun. 📋./configure İşlemi Nasıl Başlatır?
Senaryo yapılandırmak
Derleme sürecinin başlangıç noktasıdır, projeyi ortamınıza uyarlar.
Bu betik, proje için gerekli bağımlılıkları, sürümleri ve kullanılabilirliği kontrol eder. Tamamlandığında, şu adlı bir dosya oluşturur: Makefile
Bir sonraki aşama için.
Senaryo yapılandırmak
birçok yapılandırılabilir seçenek sunar ./configure --help
, yapı ayrıntılarını özelleştirmenize olanak tanır.
yapılandırmak
gibi yapmak
Ekranda çok sayıda çıktı üretin. Seçeneği kullanın --sessizlik
Eğer bu komutları çok fazla ayrıntı göstermeden çalıştırmak istiyorsanız. 🤫Eğer komut dosyası eksikse yapılandırmak
, bazı projeler şu şekilde bir betik içerir: autogen.sh
Bunu oluşturmak için. Örneğin, htop bunu kullanır:

Çok basit projeler veya başka dillerde yazılmış projeler olmayabilir yapılandırmak
Burada süreç iki aşamadan oluşuyor: yap && yap kurulum
.
Senaryo yapılandırmak
Ayrıca parametre gibi kurulum ayrıntılarını da kontrol eder --önek
, kurulum kök dizinini ayarlar. Varsayılan olarak /usr/yerel
, ancak dosyalarınızı daha iyi organize etmek için bunu değiştirebilirsiniz.
işin çoğunu yapar
Sonrasında yapılandırmak
bir üretir Makefile
, yazılımın gerçek derlemesi şu şekilde başlar: yapmak
.
Bu program şunu okur: Makefile
ve hangi dosyaların oluşturulacağına veya güncelleneceğine karar vermek için kuralları izler. Makefile'lar
El yazısıyla yazılanlar sözdizimini bilenler için anlaşılması kolaydır.
Örneğin bu Makefile
simple, dosyaya bağlı bir programı derler program.c
:
program: program.c gcc -o program program.c
yapmak
kontrol et program.c
Son derlemeden bu yana değişti. Değişmediyse hiçbir şey yapmayın; değiştiyse, şu şekilde derleyin: gcc
.

The makefile'lar
Otomatik olarak oluşturulanlar genellikle çok daha karmaşıktır. Örneğin, makefile
htop'un 2.440 satırı var:

Ancak her ayrıntıyı anlamanıza gerek yok. Kaynak kodunu değiştirmediğiniz sürece, çalıştırmanız yeterli. yapmak
ve sistemin bunu halletmesine izin verin.
Adım yapmak
Büyük projelerde dakikalar veya daha uzun sürebilir. Başarısız olursa, genellikle eksik bağımlılıklardan kaynaklanır. Avantajı ise şudur: yapmak
İlerlemeyi kaydeder ve tekrar çalıştırdığınızda kaldığı yerden devam eder.
make install ile bitiriyoruz
Derlemeden sonra oluşturulan yürütülebilir dosya genellikle projenin kökünde veya şu alt dizinde bulunur: çöp kutusu
Tam yolu kullanarak çalıştırabilirsiniz:

Bu test için yararlıdır, ancak uzun vadede bunu erişilebilir bir yere kurmak isteyeceksiniz.
Amaç düzenlemek
tanımlayan makefile
Gerekli dosyaları kopyalayın ve izinleri ayarlayın. Varsayılan konum: /usr/local/bin
, bunu değiştirebilmenize rağmen --önek
.
Bu klasör için izinleriniz yoksa şunu çalıştırın: sudo make install
ve yönetici şifresini sağlar.
Kurulum dizini değişkeninize dahil edilmelidir YOL
Programı tam yolunu belirtmeden sadece ismiyle çalıştırabilmek.