Foreach python文件在子目录中

时间:2017-02-23 04:27:48

标签: makefile

我正在扔这条毛巾。

我有一个相当成功的makefile,它在子目录中找到文件并将它们作为过滤器传递给pandoc。它在没有空格的路径中工作得很好,但是我不能让它在包含空格的路径中运行。

这是MWE:

BASEDIR=$(CURDIR)
STYLEDIR=$(BASEDIR)/style
FILFILES := "$(shell find "$(STYLEDIR)" -name *.py)"
FILTER := $(foreach "$(FILFILES)", "$(FILFILES)", --filter $(FILFILES))
TEXFLAGS = --filter pandoc-crossref --filter pandoc-citeproc $(FILTER) --latex-engine=xelatex

pdf:
    pandoc document.md $(TEXFLAGS)

为了使示例工作,您必须在带有空格的某个目录中运行makefile,尝试this md dir,创建子目录style并添加任何.py文件。现在运行,你会发现FILFILES选择了正确的python文件,但foreach将创建三个实例,因此--filter --filter --filter。这是为什么?我究竟做错了什么?

如果您需要完整的makefile:here

0 个答案:

没有答案