【问题标题】:Does the target .SUFFIX have any meaning in a Makefile?目标 .SUFFIX 在 Makefile 中是否有任何意义?
【发布时间】:2021-07-05 05:41:40
【问题描述】:

在我遇到的 Makefile 中:

.SUFFIX: .c

这是.SUFFIXES: .c 的拼写错误吗,因为我找不到任何关于.SUFFIX 的信息。这有什么作用吗?

如果 Makefile 只使用模式规则,我什至需要在 Makefile 中使用它吗?

【问题讨论】:

    标签: makefile suffix


    【解决方案1】:

    假设您使用的是 GNU make,除非确实有一个名为 .SUFFIX 的用户目标,否则这可能是 .SUFFIXES: .c 的拼写错误。如果没有配方,您可以安全地删除它:没有配方就没有用处。

    如果是 .SUFFIXES: .c 并且如果它有一个配方,它将重新定义以下隐含规则:

    %: %.c
        <recipe>
    

    这是:

    LINK.c = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
    
    %: %.c
        $(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@
    

    【讨论】:

      猜你喜欢
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 2014-04-07
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多