summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/disser/include/latex.mk
blob: 0a84d8f7c26b7a59274c7b31cf909c9b1f0b670f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#
# Makefile for LaTeX projects
# Author: Stanislav Kruchinin <stanislav.kruchinin@gmail.com>
#

TARGET ?= thesis
BIBFILE ?= thesis.bib

ARCH ?= 7z
BIBTEX ?= bibtex8
DVIPS ?= dvips
L2H ?= latex2html
L2RTF ?= latex2rtf
LATEX ?= latex
PDFLATEX ?= pdflatex
PS2PDF ?= gs
PSBOOK ?= psbook
PSNUP ?= psnup
MAKEINDEX ?= makeindex

ARCHEXT ?= zip
ARCHFLAGS ?= a -t$(ARCHEXT)
ARCHIVE := $(TARGET).$(ARCHEXT)
BIBTEXFLAGS ?= -H -c cp1251
DVIPSFLAGS ?= -P pdf -t A4 -z
L2HFLAGS ?= -dir html -iso_language RU.RU -split 3 -short_index \
  -numbered_footnotes -white -antialias -html_version 4.0
L2RTFFLAGS ?= -F -M12 -i russian
LATEXFLAGS ?= --src-specials
PS2PDFFLAGS ?= -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -g4960x7016 -r600 \
  -dCompatibilityLevel=1.2
PSNUPFLAGS ?= -2 -pA4
PDFLATEXFLAGS ?= --shell-escape --synctex=1

CLEXT ?= *.aux *.toc *.idx *.ind *.ilg *.log *.out *.lof *.lot *.lol \
  *.bbl *.blg *.bak *.dvi *.ps *.pdf *.synctex *.synctex.gz *.run.xml *.bcf *.nlo *.nls
CLFILES ?= $(CLEXT) $(ARCHIVE)
SRCFILES ?= *


pdf: $(TARGET).pdf

pdf_2on1: $(TARGET)_2on1.pdf

pdf_book: $(TARGET)_book.pdf

dvi: $(TARGET).dvi

clean:
	-rm -f $(CLFILES)

.help:
	@echo "  dvi          build DVI" ;\
	echo "  figclean     clean output files in figures directory" ;\
	echo "  html         convert DVI to HTML" ;\
	echo "  pdf          (default) build PDF" ;\
	echo "  pdf_2on1     build PDF with two A5 pages on one A4 ordered by number" ;\
	echo "  pdf_book     build PDF booklet (two A5 on A4)" ;\
	echo "  ps           build PS" ;\
	echo "  ps_2on1      build PS with two A5 pages on one A4 ordered by number" ;\
	echo "  ps_book      build PS booklet (two A5 on A4)" ;\
	echo "  rtf          convert DVI to RTF" ;\
	echo "  srcdist      build source distribution" ;\
	$(MAKE) -s -C fig help

html: $(TARGET).dvi
	$(L2H) $(L2HFLAGS) $(TARGET).tex

ps: $(TARGET).ps

ps_2on1: $(TARGET)_2on1.ps

ps_book: $(TARGET)_book.ps

rtf: $(TARGET).rtf

srcdist: clean figclean
	$(ARCH) $(ARCHFLAGS) $(ARCHIVE) $(SRCFILES)

$(TARGET).dvi: *.tex *.bib
	@$(LATEX) $(TEXFLAGS) $(TARGET).tex ;\
	if [ -f $(BIBFILE) ] ; then \
		for f in *.aux; do $(BIBTEX) $(BIBTEXFLAGS) $${f%.*} ; done ;\
	else \
		echo Warning: Bibliography file does not exist ;\
	fi ;\
	if [ -f $(TARGET).nlo ] ; then \
		$(MAKEINDEX) $(TARGET).nlo -s nomencl.ist -o $(TARGET).nls
	fi ;\
	$(LATEX) $(TEXFLAGS) $(TARGET).tex ;\
	$(LATEX) $(TEXFLAGS) $(TARGET).tex

$(TARGET).ps: $(TARGET).dvi
	$(DVIPS) $(DVIPSFLAGS) $^

$(TARGET)_2on1.ps: $(TARGET).ps
	$(PSNUP) $(PSNUPFLAGS) $^ > $@

$(TARGET)_book.ps: $(TARGET).ps
	$(PSNUP) $(PSNUPFLAGS) $^ > $@ ;\
	$(PSBOOK) $^ | $(PSNUP) -2 > $@

$(TARGET).pdf: *.tex *.bib
	@$(PDFLATEX) $(PDFLATEXFLAGS) $(TARGET).tex ;\
	if [ -f $(BIBFILE) ] ; then \
		for f in *.aux ; do $(BIBTEX) $(BIBTEXFLAGS) $${f%.*} ; done ;\
	else \
		echo "Warning: Bibliography file does not exist" ;\
	fi ;\
	if [ -f $(TARGET).nlo ] ; then \
		$(MAKEINDEX) $(TARGET).nlo -s nomencl.ist -o $(TARGET).nls ;\
	fi ;\
	$(PDFLATEX) $(PDFLATEXFLAGS) $(TARGET).tex ;\
	$(PDFLATEX) $(PDFLATEXFLAGS) $(TARGET).tex

$(TARGET)_2on1.pdf: $(TARGET)_2on1.ps
	$(PS2PDF) $(PS2PDFFLAGS) -sOutputFile=$@ -c save pop -f $^

$(TARGET)_book.pdf: $(TARGET)_book.ps
	$(PS2PDF) $(PS2PDFFLAGS) -sOutputFile=$@ -c save pop -f $^

$(TARGET).rtf: $(TARGET).dvi
	$(L2RTF) $(L2RTFFLAGS) -a $(TARGET).aux -b $(TARGET).bbl $(TARGET).tex

%.nls: %.nlo
	$(MAKEINDEX) $< -s nomencl.ist -o $@

bmtoeps epstoeps epstopdf fixbb optimize pdftopng256 pdftotiffg4:
	@$(MAKE) -C fig $@

figclean:
	@$(MAKE) -C fig clean