我正在扔这条毛巾。
我有一个相当成功的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