这是一个快速而肮脏的Makefile文件,用于对两个文档进行Latex传递。
BOOKDIR=/tmp/book
SLIDESDIR=/tmp/slides
LATEX=pdflatex -shell-escape --halt-on-error
book:
mkdir -p "${BOOKDIR}"
${LATEX} -output-directory="${BOOKDIR}" book.tex && \
(cd "${BOOKDIR}" && makeindex book)
slides:
mkdir -p "${SLIDESDIR}"
${LATEX} -output-directory="${SLIDESDIR}" slides/slides.tex
all: book slides当我运行make book时,它会执行书的配方。当我运行make slides时,它总是显示make: 'slides' is up to date.
这两个目标都没有任何依赖关系,那么为什么make在这两种情况下的行为不一样呢?
发布于 2017-01-22 08:25:31
基于命令
${LATEX} -output-directory="${SLIDESDIR}" slides/slides.tex看起来您在当前目录中有一个名为slides的目录。您可能没有名为book的应用程序。您可以更改目标名称或更改目录名,或者将目标声明为.PHONY,具体取决于您想要的行为。
https://stackoverflow.com/questions/41785979
复制相似问题