call viewer after building a pdf
[obnox/slides/2015-05-sambaXP-multi-channel.git] / Makefile
1 TARGET_BASE_NAME := $(shell cat BASENAME)
2
3 TARGET_PR = $(TARGET_BASE_NAME).pr
4 TARGET_HO = $(TARGET_BASE_NAME).ho
5 TARGET_HO2 = $(TARGET_BASE_NAME).ho2
6
7 TARGET_PRESENTATION = $(TARGET_BASE_NAME)-presentation
8 TARGET_HANDOUT = $(TARGET_BASE_NAME)-handout
9 TARGET_HANDOUT2 = $(TARGET_BASE_NAME)-handout2
10 TARGET_PAPER = $(TARGET_BASE_NAME)-paper
11 TARGET_BASE = $(TARGET_BASE_NAME)-base
12
13 TARGET = $(TARGET_BASE_NAME)
14
15 DIAIMAGES     = design-ctdb-three-nodes.dia ctdb-design-daemons.dia samba-layers.dia samba-release-stream.dia
16
17 DIAIMAGES_PNG = design-ctdb-three-nodes.png ctdb-design-daemons.png samba-layers.png samba-release-stream.png
18
19 DIAIMAGES_FIG = design-ctdb-three-nodes.fig ctdb-design-daemons.fig samba-layers.fig
20
21 DIAIMAGES_SVG = design-ctdb-three-nodes.svg ctdb-design-daemons.svg samba-layers.svg
22
23 #IMAGES = $(DIAIMAGES_PNG) \
24 #        regedit.png \
25 #        ctdb-status.png \
26 #        ctdb-status-1.png \
27 #        ctdb-ip.png \
28 #        ctdb-ip-1.png \
29 #        smbstatus.png
30
31 IMAGES = $(DIAIMAGES_PNG)
32
33 CMN_DEPS = Makefile $(IMAGES)
34
35 CMN_DEPS_WIKI = $(CMN_DEPS) document.part1.wiki document.part2.wiki document.part3.wiki content.wiki info.wiki
36
37 CMN_DEPS_TEX = $(CMD_DEPS) beamercolorthemeobnoxsamba.sty beamerouterthemeobnoxinfolines.sty beamerthemeObnoxSamba.sty
38
39 COMMON_DEPS = $(CMN_DEPS) content.tex base.tex
40
41 VIEWER = evince
42 SHOW = yes
43
44 .SUFFIXES: .tex .pdf .dia .png .fig .svg .wiki
45
46 .PHONY: all
47
48 all: pr
49
50 #all: $(TARGET_PRESENTATION) $(TARGET_HANDOUT) $(TARGET_HANDOUT2)
51
52
53 .PHONY: pr $(TARGET_PR)
54
55 pr: $(TARGET_PR)
56
57 $(TARGET_PR): $(TARGET_PR).pdf
58
59 $(TARGET_PR).pdf: $(CMN_DEPS) pr.pdf
60         cp pr.pdf $@
61
62 pr.pdf: $(CMN_DEPS_TEX) pr.tex
63
64 pr.tex: $(CMN_DEPS_WIKI) pr.wiki
65
66 pr.wiki: $(CMN_DEPS_WIKI) pr.class.wiki
67         cat document.part1.wiki pr.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
68
69
70 .PHONY: ho $(TARGET_HO)
71
72 ho: $(TARGET_HO)
73
74 $(TARGET_HO): $(TARGET_HO).pdf
75
76 $(TARGET_HO).pdf: $(CMN_DEPS) ho.pdf
77         cp ho.pdf $@
78
79 ho.pdf: $(CMN_DEPS_TEX) ho.tex
80
81 ho.tex: $(CMN_DEPS_WIKI) ho.wiki
82
83 ho.wiki: $(CMN_DEPS_WIKI) ho.class.wiki
84         cat document.part1.wiki ho.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
85
86
87 .PHONY: ho2 $(TARGET_HO2)
88
89 ho2: $(TARGET_HO2)
90
91 $(TARGET_HO2): $(TARGET_HO2).pdf
92
93 $(TARGET_HO2).pdf: $(CMN_DEPS) ho2.pdf
94         cp ho2.pdf $@
95
96 ho2.pdf: $(CMN_DEPS_TEX) ho2.tex
97
98 ho2.tex: $(CMN_DEPS_WIKI) ho2.wiki
99
100 ho2.wiki: $(CMN_DEPS_WIKI) ho2.class.wiki
101         cat document.part1.wiki ho2.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
102
103
104 .PHONY: presentation paper handout handout2
105
106 presentation: $(TARGET_PRESENTATION)
107
108 paper: $(TARGET_PAPER)
109
110 handout: $(TARGET_HANDOUT)
111
112 handout2: $(TARGET_HANDOUT2)
113
114 .PHONY: $(TARGET_PAPER) $(TARGET_PRESENTATION) $(TARGET_HANDOUT) $(TARGET_HANDOUT2)
115
116
117 $(TARGET_PRESENTATION): $(TARGET_PRESENTATION).pdf
118
119 $(TARGET_PRESENTATION).pdf: $(IMAGES) presentation.pdf
120         cp presentation.pdf $@
121
122 presentation.pdf: presentation.tex $(COMMON_DEPS)
123
124
125 $(TARGET_PAPER): $(TARGET_PAPER).pdf
126
127 $(TARGET_PAPER).pdf: paper.pdf
128         cp paper.pdf $@
129
130 paper.pdf: paper.tex $(COMMON_DEPS)
131
132
133 $(TARGET_HANDOUT): $(IMAGES) $(TARGET_HANDOUT).pdf
134
135 $(TARGET_HANDOUT).pdf: handout.pdf
136         cp handout.pdf $@
137
138 handout.pdf: handout.tex $(COMMON_DEPS)
139
140
141 $(TARGET_HANDOUT2): $(TARGET_HANDOUT2).pdf
142
143 $(TARGET_HANDOUT2).pdf: $(IMAGES) handout2.pdf
144         cp handout2.pdf $@
145
146 handout2.pdf: handout2.tex $(COMMON_DEPS)
147
148
149 base.tex: content.tex
150
151 content.tex: content.wiki
152
153
154 .wiki.tex:
155         wiki2beamer $< > $@
156
157 .tex.pdf:
158         pdflatex $<
159         pdflatex $<
160         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@ ; fi &
161
162 .dia.png:
163         @dia -e $@ $<
164
165 .dia.fig:
166         @dia -e $@ $<
167
168 .dia.svg:
169         @dia -e $@ $<
170
171
172 .PHONY: png fig svg images
173
174 png: $(DIAIMAGES_PNG)
175
176 fig: $(DIAIMAGES_FIG)
177
178 svg: $(DIAIMAGES_SVG)
179
180 images: $(IMAGES)
181
182
183 .PHONY: archive
184
185 archive: $(TARGET).tar.gz
186
187 $(TARGET).tar.gz: $(TARGET).tar
188         @echo "Creating $@"
189         @rm -f $(TARGET).tar.gz
190         @gzip $(TARGET).tar
191
192
193 # make $(TARGET).tar phony - it vanishes by gzipping...
194 .PHONY: $(TARGET).tar
195
196 $(TARGET).tar: presentation handout handout2 pr ho ho2
197         @echo "Creating $@"
198         @git archive --prefix=$(TARGET)/ HEAD > $@
199         @rm -rf $(TARGET)
200         @mkdir $(TARGET)
201         @cp $(TARGET_PRESENTATION).pdf $(TARGET)
202         #@cp $(TARGET_PAPER).pdf $(TARGET)
203         @cp $(TARGET_HANDOUT).pdf $(TARGET)
204         @cp $(TARGET_HANDOUT2).pdf $(TARGET)
205         @cp $(TARGET_PR).pdf $(TARGET)
206         @cp $(TARGET_HO).pdf $(TARGET)
207         @cp $(TARGET_HO2).pdf $(TARGET)
208         @tar rf $@ $(TARGET)/$(TARGET_PRESENTATION).pdf
209         #@tar rf $@ $(TARGET)/$(TARGET_PAPER).pdf
210         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT).pdf
211         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT2).pdf
212         @tar rf $@ $(TARGET)/$(TARGET_PR).pdf
213         @tar rf $@ $(TARGET)/$(TARGET_HO).pdf
214         @tar rf $@ $(TARGET)/$(TARGET_HO2).pdf
215
216
217
218 .PHONY: clean
219
220 clean:
221         @git clean -f