【问题标题】:Generic `make` rule for generating object files from source files从源文件生成目标文件的通用“make”规则
【发布时间】:2014-03-08 19:43:38
【问题描述】:

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

【问题讨论】:

  • 在例如 GNU make 中执行此操作很简单。我不知道如何在 nmake 中做到这一点。
  • @MadScientist 我该怎么做?我只找到了.c.o 语法,它将 C 源代码转换为同一目录中的目标文件。

标签: makefile nmake


【解决方案1】:

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

SRCDIR = src
OBJDIR = obj

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多