1# Makefile for Sphinx LaTeX output 2 3ALLDOCS = $(basename $(wildcard *.tex)) 4ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) 5ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) 6ALLPS = $(addsuffix .ps,$(ALLDOCS)) 7 8# Prefix for archive names 9ARCHIVEPREFIX = 10# Additional LaTeX options 11LATEXOPTS = 12# format: pdf or dvi 13FMT = pdf 14 15LATEX = latex 16PDFLATEX = {{ latex_engine }} 17MAKEINDEX = makeindex 18 19{% if latex_engine == 'platex' %} 20all: all-pdf-ja 21all-pdf: all-pdf-ja 22{% else %} 23all: $(ALLPDF) 24all-pdf: $(ALLPDF) 25{% endif -%} 26all-dvi: $(ALLDVI) 27all-ps: $(ALLPS) 28 29all-pdf-ja: 30 for f in *.pdf *.png *.gif *.jpg *.jpeg; do extractbb $$f; done 31 for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done 32 for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done 33 for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done 34 -for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done 35 for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done 36 for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done 37 for f in *.dvi; do dvipdfmx $$f; done 38 39zip: all-$(FMT) 40 mkdir $(ARCHIVEPREFIX)docs-$(FMT) 41 cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 42 zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) 43 rm -r $(ARCHIVEPREFIX)docs-$(FMT) 44 45tar: all-$(FMT) 46 mkdir $(ARCHIVEPREFIX)docs-$(FMT) 47 cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 48 tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) 49 rm -r $(ARCHIVEPREFIX)docs-$(FMT) 50 51gz: tar 52 gzip -9 < $(ARCHIVEPREFIX)docs-$(FMT).tar > $(ARCHIVEPREFIX)docs-$(FMT).tar.gz 53 54bz2: tar 55 bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 56 57xz: tar 58 xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 59 60# The number of LaTeX runs is quite conservative, but I don't expect it 61# to get run often, so the little extra time won't hurt. 62%.dvi: %.tex 63 $(LATEX) $(LATEXOPTS) '$<' 64 $(LATEX) $(LATEXOPTS) '$<' 65 $(LATEX) $(LATEXOPTS) '$<' 66 -$(MAKEINDEX) -s python.ist '$(basename $<).idx' 67 $(LATEX) $(LATEXOPTS) '$<' 68 $(LATEX) $(LATEXOPTS) '$<' 69 70%.pdf: %.tex 71 $(PDFLATEX) $(LATEXOPTS) '$<' 72 $(PDFLATEX) $(LATEXOPTS) '$<' 73 $(PDFLATEX) $(LATEXOPTS) '$<' 74 -$(MAKEINDEX) -s python.ist '$(basename $<).idx' 75 $(PDFLATEX) $(LATEXOPTS) '$<' 76 $(PDFLATEX) $(LATEXOPTS) '$<' 77 78%.ps: %.dvi 79 dvips '$<' 80 81clean: 82 rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) 83 84.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz 85.PHONY: all-pdf-ja 86 87