【问题标题】:How to get Make to find & recurse sub-dirs without their own Makefiles?如何让 Make 在没有自己的 Makefile 的情况下查找和递归子目录?
【发布时间】:2013-10-01 21:59:16
【问题描述】:

我有一个由多个子目录组成的项目,每个子目录都包含一个或多个降价文件。我想使用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 */) 之类的东西列出子目录。但我无法将它们全部拼接在一起。

请注意,子目录中没有生成文件:只想对所有子目录中的所有 .md 文件运行 md --> rst 转换。

抱歉,如果在其他地方回答:找不到。如果有,欢迎指点。

谢谢。

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    不清楚你是否只是想深入一层,但如果是这样,你可以使用:

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

    【讨论】:

    • 嵌套只有 1 层,所以非常完美 - 谢谢。太忙于寻找递归解决方案而无法看到简单的解决方案......
    猜你喜欢
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2015-07-20
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    相关资源
    最近更新 更多