«makefile» etiketlenmiş sorular

Bir makefile, yapı denetim dili / araç markası için bir girdi dosyasıdır. Hedefleri güncellemek için gerçekleştirilecek ilişkili komutlarla (hedefler olarak da adlandırılır) birlikte hedefleri ve bağımlılıkları belirtir.

12
Makefile'dan bir program olup olmadığını kontrol edin
Bir programın Makefile'dan çağrılabilir olup olmadığını nasıl kontrol edebilirim? (Yani, program yolda bulunmalı veya başka şekilde çağrılabilir olmalıdır.) Örneğin, hangi derleyicinin kurulu olduğunu kontrol etmek için kullanılabilir. Örneğin bu soru gibi bir şey , ancak temeldeki kabuğun POSIX uyumlu olduğunu varsaymadan.
115 makefile  gnu-make 

10
Sekme karakterleri olmadan geçerli Makefiles oluşturabilir misiniz?
target: dependencies command1 command2 Sistemimde (Mac OS X), makeMakefiles'ın her commandsatırın içeriğinden önce bir sekme karakterine sahip olmasını gerektiriyor gibi görünüyor veya bir sözdizimi hatası veriyor. Bu, Makefiles oluştururken veya düzenlerken bir sıkıntıdır çünkü editörüm her zaman her yerde olacak şekilde ayarlanmıştır. Sekme karakterleri olmadan geçerli Makefiles oluşturabilir misiniz?



12
mkdir kullanılırken makefile'da "dizin zaten var hatası" nasıl önlenir
Makefile dosyamda bir dizin oluşturmam gerekiyor ve "dizin zaten var" hatasını kolayca görmezden gelebilsem bile defalarca almak istemiyorum. Esas olarak mingw / msys kullanıyorum ama diğer kabuklar / sistemler arasında da çalışan bir şey istiyorum. Bunu denedim ama işe yaramadı, herhangi bir fikir? ifeq (,$(findstring $(OBJDIR),$(wildcard $(OBJDIR) ))) -mkdir $(OBJDIR) …


6
Makro tanımını "make" komut satırı bağımsız değişkenlerinden (-D) C kaynak koduna nasıl geçirebilirim?
Makro tanımlarını genellikle "make komut satırı" ndan "makefile" ye şu seçeneği kullanarak geçiririm: -Dname = değer. Tanıma makefile içinden erişilebilir. Ayrıca benzer derleyici seçeneğini kullanarak "makefile" dan "kaynak koda" makro tanımlarını iletiyorum: -Dname = value (birçok derleyicide desteklenir). Bu tanıma kaynak koddan erişilebilir. Şimdi ihtiyacım olan şey, makefile'ımın kullanıcısına, makefile'da …
107 c  macros  makefile 


8
Tek bir kaynak dosyadan birkaç hedef oluşturan GNU Makefile kuralı
Aşağıdakileri yapmaya çalışıyorum. foo-binTek bir girdi dosyası alan ve iki çıktı dosyası oluşturan bir program var . Bunun için aptalca bir Makefile kuralı şöyle olacaktır: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Ancak bu makehiçbir şekilde her iki hedefin aynı anda oluşturulacağını söylemez . makeSeri olarak koşarken bu iyidir , …
106 makefile 


4
CFLAGS ve CPPFLAGS
CFLAGS'nin (veya C ++ için CXXFLAGS) derleyici için olduğunu, CPPFLAGS'ın ise önişlemci tarafından kullanıldığını anlıyorum. Ama yine de farkı anlamıyorum. #İnclude ile eklenen bir başlık dosyası için bir dahil etme yolu belirtmem gerekiyor - çünkü #include bir önişlemci yönergesi, önemsediğim tek şey önişlemci (CPPFLAGS) mi? Hangi koşullarda derleyiciye fazladan bir …

2
Makefile'da kabuk komutları nasıl kullanılır
Sonuçlarını lsdiğer komutlarda kullanmaya çalışıyorum (örneğin echo, rsync): all: <Building, creating some .tgz files - removed for clarity> FILES = $(shell ls) echo $(FILES) Ama anlıyorum: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 Ben kullanarak denedim echo $$FILES, …
102 bash  makefile  echo 

9
Make file kullanarak dizinler oluşturun
Makefiles konusunda çok yeniyim ve makefile kullanarak dizinler oluşturmak istiyorum. Proje dizinim şöyle +--Project +--output +--source +Testfile.cpp +Makefile Tüm nesneleri ve çıktıyı ilgili çıktı klasörüne koymak istiyorum. Derledikten sonra böyle bir klasör yapısı oluşturmak istiyorum. +--Project +--output +--debug (or release) +--objs +Testfile.o +Testfile (my executable file) +--source +Testfile.cpp +Makefile Birkaç …


16
Tanımlarında değişkenler içeren GNU make'deki hedefleri / hedefleri listeleyin
Değişkenlerden isimleri hesaplayarak anında bir dizi hedef oluşturan oldukça büyük bir makefile sahibim. (örn. foo $ (VAR): $ (PREREQS)). Bu değişkenleri genişlettikten sonra gnu'nun bir hedefler listesi çıkarmaya ikna edilmesinin herhangi bir yolu var mı? Bir aribitrary makefile için hedefleri elde edebilmek istiyorum. Kabuğum için bir tamamlama işlevi yazmaya çalışıyorum.
100 makefile  gnu-make 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.