OpenCorePkg/Docs/BuildDocs.tool
2021-01-14 01:46:09 +03:00

56 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
abort() {
echo "ERROR: $1!"
exit 1
}
latexbuild() {
# Perform file cleanup.
rm -f ./*.aux ./*.log ./*.out ./*.pdf ./*.toc
# Perform a first pass
pdflatex -draftmode "$1" "$2" || \
abort "Unable to create $1 draft"
# Perform a number of TOC passes.
while grep 'Rerun to get ' "${1}.log" ; do
pdflatex -draftmode "$1" "$2" || \
abort "Unable to create $1 draft with TOC"
done
# Create a real PDF.
pdflatex "$1" "$2" || \
abort "Unable to create $1 PDF"
# Perform a number of TOC passes for PDF (usually not needed).
while grep 'Rerun to get ' "${1}.log" ; do
pdflatex -draftmode "$1" "$2" || \
abort "Unable to create $1 PDF with TOC"
done
}
cd "$(dirname "$0")" || abort "Wrong directory"
if [ "$(which latexdiff)" = "" ]; then
abort "latexdiff is missing, check your TeX Live installation"
fi
if [ "$(which pdflatex)" = "" ]; then
abort "pdflatex is missing, check your TeX Live installation"
fi
latexbuild Configuration
cd Differences || abort "Unable to process annotations"
rm -f ./*.aux ./*.log ./*.out ./*.pdf ./*.toc
latexdiff --allow-spaces -s ONLYCHANGEDPAGE PreviousConfiguration.tex ../Configuration.tex \
> Differences.tex || \
abort "Unable to differentiate"
latexbuild Differences -interaction=nonstopmode
cd ../Errata || abort "Unable to process annotations"
latexbuild Errata
exit 0