对于GNU make中的循环名称

时间:2014-10-16 03:26:10

标签: for-loop makefile

我有一堆.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中编写这样的循环 - 任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

这是非常基本的101:

SRCS = a.dot b.dot c.dot

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

all: $(OBJS)

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

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