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