Я написал следующее Makefile
:переопределение Makefile переменная в зависимости от типа сделать
INTERACTION=nonstopmode
all:
make read.pdf > /dev/null
make clean > /dev/null
diagnostic:
INTERACTION=batchmode
make read.pdf
make clean
%.pdf: %.tex biblio.bib
bash makepdf.sh $(INTERACTION) $<
clean:
rm -f *.aux *.log *.bbl *.bak *.blg *.toc *.out *.glg *.glo *.gls *.ist *~ *.*~* *.backup
Makefile
обеспечивает два режима: простой грим файл, который не делает вывода об ошибках и предупреждения и диагностики так что pdflatex
взаимодействует с пользователем, чтобы найти проблему.
makepdf.sh
выглядит следующим образом:
filename=$(basename $2)
filename="${filename%.*}"
pdflatex -interaction=$1 $2
makeglossaries "$filename" 2
makeindex "$filename" 2
pdflatex -interaction=$1 $2
echo $1
Независимо от того, является ли называется make
или make diagnostic
, программа всегда работает в nonstopmode
. Невозможно перезаписать переменную Makefile
? Если да, то как решить эту проблему? В противном случае, что не так с этим кодом?