0
這是一個快速且髒的Makefile,用於爲兩個文檔執行Latex傳遞。目標沒有依賴關係時Makefile行爲不一致
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
時,它會執行book的配方。當我運行make slides
它總是說make: 'slides' is up to date.
這些目標都沒有任何依賴關係,所以爲什麼兩種情況下表現不一樣?