【发布时间】:2010-12-09 22:40:59
【问题描述】:
我正在使用 gnu Make 3.82 并且有一个烦人的问题。
我有一个规则设置目录之间的依赖关系。
OBJDIR=../obj
$(objdir)/%.o: %.C
$(COMPILE) -MM -MT$(objdir)/$(notdir $@) $< -o $(DEPDIR)/$(notdir $(basename $<).d )
$(COMPILE) -o $(objdir)/$(notdir $@ ) -c $<
为此,obj 目录必须存在。 我想 mkdir 目录作为先决条件
$(objdir)/%.o: %.C $(objdir)
$(COMPILE) -MM -MT$(objdir)/$(notdir $@) $< -o $(DEPDIR)/$(notdir $(basename $<).d )
$(COMPILE) -o $(objdir)/$(notdir $@ ) -c $<
$(objdir):
mkdir $(objdir)
这不起作用,因为当目录存在然后make停止时它会失败 我试过壳
if [ ! -d $(objdir) ] ; then \
mkdir $(objdir) \
fi
但显然我有问题。这样做的最佳方法是什么?
【问题讨论】:
-
有关制作目录的正确方法,请在此处查看我的答案:stackoverflow.com/questions/3477418/…