# Root directory AONROOTREL := ../../../../.. AONROOTDIR = $(realpath $(AONROOTREL)) INSTALLDIR := ../FINAL/ # Relative location of the XML files RELXMLDIR := $(AONROOTDIR)/$(LANG)/xml/ XMLFILE=$(patsubst %.tex,$(RELXMLDIR)/%.xml,$(SOURCE)) # Relative location of the scripts RELSCRIPT := $(AONROOTDIR)/common/scripts # Convert Script XML2LATEX = $(RELSCRIPT)/gbtolatex.pl # LaTeX stylesheet LATEXXSL = $(AONROOTDIR)/common/xsl/latex.xsl #LATEXXSL = $(AONROOTDIR)/common/xsl/latex-komascript.xsl all: $(BASENAME).pdf SOURCE=$(BASENAME).tex ifeq "$(LANG)" "en" EXTRAFILES=souvenir.sty else EXTRAFILES=ac1.tex crtneg.tex ac2.tex crtpos.tex random.tex ac3.tex \ souvenir.sty souverbt.sty endif # Generate the LaTeX file from the XML file $(SOURCE): $(XMLFILE) $(XML2LATEX) $(LATEXXSL) tweak.diff AONPATH="$(AONROOTDIR)" perl $(XML2LATEX) $(BASENAME) $(LANG) $@ @if ! test -s $(SOURCE) ; then \ echo "ERROR: Empty file $(SOURCE), check for errors above." >&2 ; \ rm -f $(SOURCE) ; \ exit 1 ; \ fi @cp $(SOURCE) $(BASENAME)-untweaked.tex @if test -f tweak.diff; then \ patch $(SOURCE) temp.toc && mv -f temp.toc $(BASENAME).toc # # Run pdflatex a second time to get correct page numbers in the toc -pdflatex -interaction batchmode $< # # Remove everything except for chapter entries from the toc file @grep '{chapter}' $(BASENAME).toc >temp.toc && mv -f temp.toc $(BASENAME).toc # # Tweak the PDF bookmarks file @[ -e "$(BASENAME).out" ] || { echo "ERROR: Required file $(BASENAME).out does not exist, please review $(BASENAME).log" ; false ; } @sed 's/\\ellipsis@one =,//' $(BASENAME).out >temp.out && \ echo '\let\WriteBookmarks\relax' >>temp.out && \ mv -f temp.out $(BASENAME).out # # Run pdflatex a third time to get correct PDF bookmarks -pdflatex -interaction batchmode $< # # Check if the PDF file exists @[ -e "$(BASENAME).pdf" ] || { echo "ERROR: Did not generate $(BASENAME).pdf , please review $(BASENAME).log" ; false ; } clean: clean-images -rm -f $(BASENAME).pdf $(BASENAME).ps -rm -f *.aux *.toc *.log *.lof *.dvi *.ps *.bbl *.blg *.lot *.out distclean: clean -rm -f $(BASENAME).tex $(BASENAME)-untweaked.tex # Clean symlinks -rm -f ac1.tex ac2.tex ac3.tex crtneg.tex crtpos.tex random.tex souvenir.sty souverbt.sty @for gif in *.gif ; do [ -e $$gif ] && [ -L $$gif ] && rm -f $$gif ; done || true # Remove tweak file if empty @test -z tweak.diff || rm -f tweak.diff # Clean all images clean-images: -rm -f *.png *.jpeg *.jpg *.pdf -rm -f convert-images link-images # Update tweak.diff with the current difference between untweaked and tweaked tex file update-tweakfile: @if [ -e $(BASENAME)-untweaked.tex -a -e $(BASENAME).tex ] ; then \ if ! diff -q $(BASENAME)-untweaked.tex $(BASENAME).tex; then \ diff -u $(BASENAME)-untweaked.tex $(BASENAME).tex >tweak.diff || echo Updated tweak.diff; \ else \ echo "Tweak file not updated, no changes"; \ fi; \ else \ echo "Tweak file not updated, missing files"; \ fi