19 EYLÜL 2008, Cuma
nasıl önlemek "dizin zaten hata" var; format kullanırken bir makefile
Benim makefile bir dizin oluşturmak istiyorum ve "dizin zaten hata kolayca gözardı edebilirim rağmen" tekrar ve tekrar. var değil almak istiyorum
Ben esas olarak mingw/msys kullanın ama diğer kabuklar arasında/sistemleri çok işe yarayan bir şey istiyorum.
İşe yaramadı ama bu, herhangi bir fikir çalıştım?
ifeq (,$(findstring $(OBJDIR),$(wildcard $(OBJDIR) )))
-mkdir $(OBJDIR)
endif
CEVAP
29 Mayıs 2011, Pazar
the official make documentation buraya bakıyor bunu yapmak için iyi bir yol
OBJDIR := objdir
OBJS := $(addprefix $(OBJDIR)/,foo.o bar.o baz.o)
$(OBJDIR)/%.o : %.c
$(COMPILE.c) $(OUTPUT_OPTION) $<
all: $(OBJS)
$(OBJS): | $(OBJDIR)
$(OBJDIR):
mkdir -p $(OBJDIR)
Burada | boru operatörün kullanımı, sipariş sadece ön koşul tanımlama görmelisiniz.
$(OBJDIR)
hedef mevcut olmalıdır, yani (yerinedaha yenimevcut hedef oluşturmak için.
mkdir -p
kullandım unutmayın. -p
bayrak dokümanlar örneğe göre eklendi.
Başka bir alternatif için diğer cevaplara bakın.
Bunu Paylaş:
Nasıl çözüleceği "Hata: kötü Ende...
Nasıl " önlemek için;sıfır böl&; S...
Raylar 3: "-alan-hata" sarıc...
Hayır geliştirici dizin /Geliştirici&q...
Nasıl düzeltmek için: "uygun bir ...