我有一个具有以下结构的项目:
root
- master.pdf
- master.Rmd
/assests/sections/child1.Rmd
child2.Rmd
/assests/bib/mybib.bib
我的makefile看起来像这样:
PDF_FILE=master.pdf
all : $(PDF_FILE)
clean :
rm -f $(PDF_FILE)
%.pdf : %.Rmd
Rscript -e 'rmarkdown::render("$<")'
如果我在child1.Rmd
或child2.Rmd
中进行更改,makefile将不运行,因为它仅在master.Rmd
中寻找更改。我试图将以下内容合并到我的Makefile中:
INCLUDES := $(wildcard assets/sections/*Rmd)
但是我还没有成功(它仍然显示“所有文件现在都是最新的”)。 如何获取Makefile来查看子文档?
答案 0 :(得分:0)
我添加了
$(wildcard assets/sections/*.Rmd)
到Makefile的最后一行...
%.pdf : %.Rmd $(wildcard assets/sections/*.Rmd)
Rscript -e 'rmarkdown::render("$<")'
现在它可以跟踪assets/sections
内部的更改。