1# Makefile for Sphinx LaTeX output 2 3ALLDOCS = $(basename $(wildcard *.tex)) 4ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) 5{% if latex_engine == 'xelatex' -%} 6ALLDVI = 7ALLXDV = $(addsuffix .xdv,$(ALLDOCS)) 8{% else -%} 9ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) 10ALLXDV = 11{% endif -%} 12ALLPS = $(addsuffix .ps,$(ALLDOCS)) 13 14# Prefix for archive names 15ARCHIVEPREFIX = 16# Additional LaTeX options (passed via variables in latexmkrc/latexmkjarc file) 17export LATEXOPTS ?= 18# Additional latexmk options 19{% if latex_engine == 'xelatex' -%} 20# with latexmk version 4.52b or higher set LATEXMKOPTS to -xelatex either here 21# or on command line for faster builds. 22{% endif -%} 23LATEXMKOPTS ?= 24{% if xindy_use -%} 25export XINDYOPTS = {{ xindy_lang_option }} -M sphinx.xdy 26{% if latex_engine == 'pdflatex' -%} 27XINDYOPTS += -M LICRlatin2utf8.xdy 28{% if xindy_cyrillic -%} 29XINDYOPTS += -M LICRcyr2utf8.xdy 30{% endif -%} 31{% endif -%} 32{% if xindy_cyrillic -%} 33XINDYOPTS += -M LatinRules.xdy 34{% endif -%} 35{% endif -%} 36# format: pdf or dvi (used only by archive targets) 37FMT = pdf 38 39{% if latex_engine in ('platex', 'uplatex') -%} 40# latexmkrc is read then overridden by latexmkjarc 41LATEX = latexmk -r latexmkjarc -dvi 42PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps- 43{% else -%} 44LATEX = latexmk -dvi 45PDFLATEX = latexmk -pdf -dvi- -ps- 46{% endif %} 47 48{% if latex_engine != 'xelatex' -%} 49%.dvi: %.tex FORCE_MAKE 50 $(LATEX) $(LATEXMKOPTS) '$<' 51 52{% endif -%} 53%.ps: %.dvi 54 dvips '$<' 55 56%.pdf: %.tex FORCE_MAKE 57 $(PDFLATEX) $(LATEXMKOPTS) '$<' 58 59all: $(ALLPDF) 60 61all-dvi: $(ALLDVI) 62 63all-ps: $(ALLPS) 64 65all-pdf: $(ALLPDF) 66 67zip: all-$(FMT) 68 mkdir $(ARCHIVEPREFIX)docs-$(FMT) 69 cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 70 zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) 71 rm -r $(ARCHIVEPREFIX)docs-$(FMT) 72 73tar: all-$(FMT) 74 mkdir $(ARCHIVEPREFIX)docs-$(FMT) 75 cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 76 tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) 77 rm -r $(ARCHIVEPREFIX)docs-$(FMT) 78 79gz: tar 80 gzip -9 < $(ARCHIVEPREFIX)docs-$(FMT).tar > $(ARCHIVEPREFIX)docs-$(FMT).tar.gz 81 82bz2: tar 83 bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 84 85xz: tar 86 xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 87 88clean: 89 rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) $(ALLXDV) *.fls *.fdb_latexmk 90 91.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz 92.PHONY: FORCE_MAKE 93