我有一个由多个子目录组成的项目,每个子目录包含一个或多个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文件进行第一次转换。
如果在别处回答道歉:找不到。指针是否受欢迎。
感谢。
答案 0 :(得分:1)
目前尚不清楚你是否只想看一层深度,但如果是这样你就可以使用:
RSTS := $(patsubst %.md,%.rst,$(wildcard */*.md))