我开发了一个脚本,可将文件夹中的所有降价文件转换为ePub并将其放置在shared
中。
尽管如此,我还是希望将文件放在epubs
子文件夹中,而不要放在主目录(markdowns
所在的目录)中。
makefile
我应该如何修改我的代码?
.
├── epubs
│ └── blabla.epubs
├── makefile
└── markdowns
└── blabla.pd
答案 0 :(得分:2)
一种方法是在模式规则中明确告诉make
.pd
目标的.epub
先决条件在哪里:
MARKDOWN_DIR := markdowns
EPUB_DIR := epubs
MARKDOWNS := $(wildcard $(MARKDOWN_DIR)/*.pd)
EPUBS := $(subst $(MARKDOWN_DIR),$(EPUB_DIR),$(MARKDOWNS:.pd=.epub))
$(EPUB_DIR)/%.epub: $(MARKDOWN_DIR)/%.pd
pandoc --from markdown --to epub --smart $< -o $@
.PHONY: all clean
all: $(EPUBS)
请注意两个小的附加更改。我用find
的{{1}}函数替换了您的shell make
命令,因为这就是它的作用。您的$(wildcard)
命令不再需要pandoc
前面的epubs/
,因为该目录现在是目标的一部分。然后我根据自己的喜好重新排序。