Make - Linux Komutanlığı - Unix Komutanlığı

make - GNU, program gruplarını sürdürmek için fayda sağlar

özet

[ -f makefile ] [seçenek] yap ... hedef ...

Uyarı

Bu sayfa GNU yapımının belgelerinin bir özüdür . Sadece zaman zaman güncellenir, çünkü GNU projesi nroff kullanmaz. Tam, güncel belgeler için, Texinfo kaynak dosyasından make.texinfo yapılan make.info bilgi dosyasına bakın.

Açıklama

Maket yardımcı programının amacı, büyük bir programın hangi parçalarının yeniden derlenmesi gerektiğini ve bunları yeniden derlemek için komutlar vermesini otomatik olarak belirlemektir. Kılavuz, Richard Stallman ve Roland McGrath tarafından yazılan make'in GNU uygulamasını anlatıyor. Örneklerimiz C programlarını en yaygın oldukları için gösterir, ancak derleyicinin bir kabuk komutuyla çalıştırılabileceği herhangi bir programlama dili ile make kullanabilirsiniz. Aslında, make , programlarla sınırlı değildir. Bazı dosyaların diğerlerinin değiştiği durumlarda, bazı dosyaların otomatik olarak güncellenmesi gereken herhangi bir görevi tanımlamak için kullanabilirsiniz.

Make'i kullanmaya hazırlanmak için, programınızdaki dosyalar arasındaki ilişkileri açıklayan makefile adlı bir dosya yazmanız ve her bir dosyayı güncellemek için komutları belirtmeniz gerekir. Bir programda, genellikle yürütülebilir dosya, kaynak dosyaları derlenerek yapılan nesne dosyalarından güncellenir.

Uygun bir makefile varsa, bazı kaynak dosyaları her değiştirdiğinizde, bu basit kabuk komutu:

Yapmak

Gerekli tüm telafileri gerçekleştirmek için yeterlidir. Make programı, hangi dosyaların güncellenmesi gerektiğine karar vermek için makefile veri tabanını ve dosyaların son değişiklik zamanlarını kullanır. Bu dosyaların her biri için veritabanında kayıtlı komutları yayınlar.

Bir veya daha fazla hedef adını güncellemek için makefile komutlarını çalıştırır, burada ad genellikle bir programdır. Eğer -f seçeneği yoksa, make , bu sırayla GNUmakefile , makefile ve Makefile makefilesini arayacaktır.

Normalde makefile ya makefile ya da Makefile'yi aramalısınız. ( Makefile'yi tavsiye ederiz çünkü bir dizin listesinin başlangıcına yakın bir yerde , README gibi diğer önemli dosyaların hemen yanında görünür.) İlk kez kontrol edilen GNUmakefile , çoğu makaille tavsiye edilmez. Eğer GNU'ya özgü bir makefile sahipseniz ve diğer marka versiyonları tarafından anlaşılmayacaksa, bu ismi kullanmalısınız. Makefile `- 'ise, standart giriş okunur.

Hedef son değişiklikten sonra değiştirilmiş olan önkoşul dosyalarına veya hedef mevcut değilse, güncellemeleri bir hedef haline getirin .

SEÇENEKLER

-b

-m

Bu seçenekler, diğer yapım sürümleriyle uyumluluk açısından göz ardı edilir.

-C dir

Makefileları okumadan veya başka bir şey yapmadan önce dizin dizinine geçin. Birden çok C seçeneği belirtilmişse, her biri bir öncekine göre yorumlanır: -C / -C vb -C / etc'ye eşdeğerdir. Bu genellikle, özyinelemeli çağrılar ile kullanılır.

-d

Normal işlemeye ek olarak hata ayıklama bilgilerini yazdırın. Hata ayıklama bilgileri, hangi dosyaların yeniden değerlendirilmek üzere değerlendirildiğini, hangi dosya zamanlarının karşılaştırıldığını ve hangi sonuçlarla, hangi dosyaların gerçekte yeniden yapılması gerektiğini, hangi örtük kuralların dikkate alındığını ve uygulandığını belirtir. ne yapalım.

-e

Makefilelardan değişkenlere göre ortam önceliğinden alınan değişkenleri verin.

-f dosyası

Dosyayı makefile olarak kullan.

-ben

Dosyaları yeniden boyutlandırmak için çalıştırılan komutlardaki tüm hataları yoksayın.

-I dir

İçerilen makefile'leri aramak için dizin dizini belirtir. Birden fazla dizin belirtmek için birkaç -I seçeneği kullanılırsa, dizinler belirtilen sırayla aranır. Diğer bayrakların argümanlarından farklı olarak, -I bayraklarıyla verilen dizinler doğrudan bayraktan sonra gelebilir: -I dir , ayrıca -I dir. Bu sözdizimi, C önişlemcisinin -I bayrağıyla uyumluluk için izin verilir.

-j ilanları

Aynı anda çalışacak işlerin sayısını (komutları) belirtir. Birden fazla -j seçeneği varsa, sonuncusu etkilidir. -j seçeneği bir argüman olmadan verilirse, make aynı anda çalışabilecek işlerin sayısını sınırlamaz.

-k

Bir hatadan sonra mümkün olduğunca devam edin. Başarısız olan ve ona bağlı olan hedefler yeniden inşa edilemezken, bu hedeflerin diğer bağımlılıkları da aynı şekilde işlenebilir.

-l

-l yük

Başka çalışanların çalıştığı ve yük ortalamasının en az yük (kayan nokta sayısı) olması durumunda yeni işlerin (komutların) başlatılmaması gerektiğini belirtir. Argüman olmadan, önceki bir yük sınırını kaldırır.

-n

Yürütülecek komutları yazdırın, ancak bunları yürütmeyin.

-o dosya

Dosyayı bağımlılıklarından daha eski olsa bile yeniden dosyalamayın ve dosyadaki değişiklikler nedeniyle herhangi bir şeyi yeniden yapmayın. Esas olarak dosya çok eski gibi ele alınır ve kuralları göz ardı edilir.

-p

Makefile okumadan kaynaklanan veri tabanını (kurallar ve değişken değerler) yazdırın; daha sonra her zamanki gibi veya başka şekilde belirtildiği gibi çalıştırın. Bu ayrıca -v anahtarının verdiği sürüm bilgilerini de yazdırır (aşağıya bakın). Herhangi bir dosyayı yeniden denemeden veri tabanını yazdırmak için make -p -f / dev / null komutunu kullanın .

-q

`` Soru modu ''. Herhangi bir komut çalıştırmayın veya herhangi bir şey yazdırmayın; Belirtilen hedefler halihazırda güncelse sıfır olan bir çıkış durumunu döndürmeniz yeterlidir, aksi halde sıfırdır.

-r

Yerleşik örtük kuralların kullanımını ortadan kaldırın. Ayrıca sonek kuralları için varsayılan soneklerin listesini temizleyin.

-s

Sessiz çalışma; Komutları yürütülürken yazdırmayın.

-S

-k seçeneğinin etkisini iptal et. -K MAKEFLAGS üzerinden üst düzeyden miras alınabileceği veya çevrenizde MAKEFLAGS içinde -k seçeneğini belirlediyseniz, bu, yinelemeli bir yapıt dışında asla gerekli değildir.

-t

Komutlarını çalıştırmak yerine dosyalara dokunun (onları gerçekten değiştirmeden onları güncelleyin). Bu, gelecekteki gelecek nesnelere aldatmak için komutların yapıldığı şeklinde kullanılır.

-v

Make programının sürümünün yanı sıra telif hakkı, yazar listesi ve garanti olmadığına dair bir bildirim yazdırın.

-w

Diğer işleme başlamadan önce ve sonra çalışma dizinini içeren bir mesaj yazdırın. Bu, yinelemeli komutların karmaşık yuvalarından gelen hataları izleme için yararlı olabilir.

-W dosya

Hedef dosyanın yeni değiştirilmiş olduğunu varsayalım. -n bayrağı ile kullanıldığında, bu dosyayı değiştirirseniz ne olacağını gösterir. -n olmadan, make komutunu çalıştırmadan önce verilen dosyada bir touch komutunu çalıştırmak neredeyse aynıdır, ancak modifikasyon süresi sadece make'in hayalinde değiştirilir.