SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • echifitness

    echifitness

    9 Kasım 2008
  • FPSRussia

    FPSRussia

    19 NİSAN 2010