Makefile 从源文件生成对象文件的通用“make”规则
我将所有源文件都放在名为Makefile 从源文件生成对象文件的通用“make”规则,makefile,nmake,Makefile,Nmake,我将所有源文件都放在名为src的目录中,我希望所有目标文件都放在obj目录中。可以编写一个通用的make规则(最好也可以与nmake一起使用),该规则将生成与源文件对应的目标文件并将其放置在正确的目录中?对于GNU make,您可以使用模式规则,如下所示: SRCDIR = src OBJDIR = obj $(OBJDIR)/%.o : $(SRCDIR)/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< SRCDIR=src O
src
的目录中,我希望所有目标文件都放在obj
目录中。可以编写一个通用的make
规则(最好也可以与nmake
一起使用),该规则将生成与源文件对应的目标文件并将其放置在正确的目录中?对于GNU make,您可以使用模式规则,如下所示:
SRCDIR = src
OBJDIR = obj
$(OBJDIR)/%.o : $(SRCDIR)/%.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
SRCDIR=src
OBJDIR=obj
$(OBJDIR)/%.o:$(SRCDIR)/%.c
$(CC)$(CPPFLAGS)$(CFLAGS)-c-o$@$<
使用nmake,您可以对路径使用推理规则:
{src\}.c{obj\}.obj:
$(CC) $(CFLAGS) -c -o $@ $<
{src\}.c{obj\}.obj:
$(CC)$(CFLAGS)-c-o$@$<
例如,在GNU make中这样做很简单。“我不知道在nmake怎么做,”疯狂的科学家说,“我该怎么做?”?我只找到了.c.o
语法,它将c源代码转换为同一目录中的目标文件。