【问题标题】:For loop through names in GNU makeFor 循环遍历 GNU make 中的名称
【发布时间】:2014-10-16 03:26:10
【问题描述】:

我有一堆 .dot 文件(例如,a.dot, b.dot, c.dot),我想用neato 将它们编译成 .png 文件。目前,我必须执行的 make 命令如下所示:

neato -Tpng -o a.png a.dot
neato -Tpng -o b.png b.dot
neato -Tpng -o c.png c.dot

显然,这是完全不可扩展的,我想写一些东西,将每个带有 .dot 扩展名的文件,并将其编译为等效命名的 .png 文件。我不确定如何在 make 中编写这样的循环 - 任何帮助将不胜感激。

【问题讨论】:

  • 哪个“制造”?这可能会有所帮助:stackoverflow.com/questions/1633527/…
  • 编辑告诉你我的意思。
  • 我们可以使用$<$@吗?
  • 你不需要循环,你需要一个规则。

标签: for-loop makefile


【解决方案1】:

这是非常基本的 101 版:

SRCS = a.dot b.dot c.dot

OBJS = $(SRCS:%.dot=%.png)

all: $(OBJS)

%.png : %.dot
        neato -Tpng -o $@ $<

你不会在 make 中做“循环”;您定义目标和先决条件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 2016-03-03
    相关资源
    最近更新 更多