如何让Make to find&在没有自己的Makefile的情况下递归子目录?

时间:2013-10-01 13:30:27

标签: makefile gnu-make

我有一个由多个子目录组成的项目,每个子目录包含一个或多个markdown文件。我想使用pandoc从.md源构建各种目标文档。我正在试图弄清楚如何让Make(a)找到并且(b)自动递归所有子目标。现在Makefile如下:

clean:
    -rm -rf $(RSTS)

RSTS := $(patsubst notes/%.md, notes/%.rst, $(wildcard notes/*.md))
%.rst: %.md
    pandoc $< -f markdown -t rst -o $@

md2rst: $(RSTS)

.PHONY: clean $(RSTS)

哪个有效:但是我必须明确列出每个子目录。我知道应该可以使用类似DIRS := $(wildcard */)的内容列出子目录。但我不能完全把它拼凑起来。

注意子目录中没有makefile:只想运行md - &gt;对所有子目录中的所有.md文件进行第一次转换。

如果在别处回答道歉:找不到。指针是否受欢迎。

感谢。

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你是否只想看一层深度,但如果是这样你就可以使用:

RSTS := $(patsubst %.md,%.rst,$(wildcard */*.md))