summaryrefslogtreecommitdiff
path: root/support/make/latex.mk
blob: 311db5cd696deb1685d4a10f8f08fd72a616738e (plain) (blame)
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
############################################################-*-Makefile-*-####
# LATEX - Compile Latex Files
##############################################################################
# $Id$

##############################################################################
# Usage
#
#   make latex[.div|.ps|.pdf|.clean|.distclean]
#   make <*.[dvi|ps|pdf]>
#
##############################################################################
# Variables
#
# LATEX_TARGETS		+= list of documents to generate
# LATEX_SOURCES		+= list of documents required to generate targets
#
##############################################################################
# Examples
#
# Generate all latex-produced documents
#
#   make latex
#
#
# Generate all latex-produced PostScript documents
#
#   make latex
#
#
# Generate reference in pdf format
#
#   make reference.pdf
#
##############################################################################

##############################################################################
# Defaults

TEXINPUTS		?= .
BIBINPUTS		?= .
LATEXMK			?= latexmk
TOUCH			?= touch

##############################################################################
# Environment

export TEXINPUTS
export BIBINPUTS

##############################################################################
# Commands

all			: latex
clean			: latex.clean
distclean		: latex.distclean

latex			: $(LATEX_TARGETS)
latex.dvi		: $(filter %.dvi,$(LATEX_TARGETS))
latex.ps		: $(filter %.ps ,$(LATEX_TARGETS))
latex.pdf		: $(filter %.pdf,$(LATEX_TARGETS))

latex.clean		:
	$(LATEXMK) -c

latex.distclean		:
	$(LATEXMK) -C

.PHONY			: latex
.PHONY			: latex.dvi
.PHONY			: latex.ps
.PHONY			: latex.pdf
.PHONY			: latex.clean
.PHONY			: latex.distclean

##############################################################################
# Rules


%.dvi			: %.tex $(LATEX_SOURCES)
	$(LATEXMK) $<

%.ps			: %.tex $(LATEX_SOURCES)
	$(LATEXMK) -ps $<

%.pdf			: %.tex $(LATEX_SOURCES)
	$(LATEXMK) -pdf $<

.PRECIOUS	: %.dvi
.PRECIOUS	: %.ps
.PRECIOUS	: %.pdf

##############################################################################