我有一个简单的markdown文件构建过程:
作为make文件,我试试:
# md-->tex rule
%.tex: %.md
panzer -o $@ $<
# tex-->pdf rule
%.pdf: %.tex
latexmk -g $<
# show rule
run: main.pdf
showpdf $<
.PHONY: run
但是,一旦构建了PDF,对目录中任何md文件的更改都不会重建PDF。我想问题是最终目标规则运行不会产生任何效果。
如何以调用 tex - &gt; pdf 规则的方式编写此目标规则,然后再调用 md - &gt; tex 规则两个级别下来?
答案 0 :(得分:0)
目前还不清楚您是否每个md文件构建一个pdf或pdf。如果您只修改了main.pdf,那么您的tex->pdf
规则就不是您想要做的,因为有很多文件,而不仅仅是main.tex
。您需要修改规则并指定main.pdf
的依赖关系,或者自动生成它们,如下例所示:
all: main.pdf
main.pdf: $(patsubst %.md, %.tex, $(wildcard *.md))
#md-->tex rule
%.tex: %.md
panzer -o $@ $<
# tex-->pdf rule
%.pdf:
latexmk -g $^
# show rule
run: main.pdf
showpdf $<
clean:
$(RM) *.tex main.pdf
.PHONY: run clean