用于从源文件生成目标文件的通用`make`规则

时间:2014-03-08 19:43:39

标签: makefile nmake

我将所有源文件放在名为src的目录中,我希望将所有目标文件放在目录obj中。可以编写一个通用的make规则(最好也适用于nmake),它将生成与源文件对应的目标文件并将其放在正确的目录中?

2 个答案:

答案 0 :(得分:1)

对于GNU make,您可以使用模式规则,如下所示:

SRCDIR = src
OBJDIR = obj

$(OBJDIR)/%.o : $(SRCDIR)/%.c
        $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

答案 1 :(得分:1)

使用nmake,您可以使用带路径的推理规则:

{src\}.c{obj\}.obj:
        $(CC) $(CFLAGS) -c -o $@ $<