Content...
[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         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
59
60 $(TARGET_PR).pdf: $(CMN_DEPS) pr.pdf
61         cp pr.pdf $@
62
63 pr.pdf: $(CMN_DEPS_TEX) pr.tex
64
65 pr.tex: $(CMN_DEPS_WIKI) pr.wiki
66
67 pr.wiki: $(CMN_DEPS_WIKI) pr.class.wiki
68         cat document.part1.wiki pr.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
69
70
71 .PHONY: ho $(TARGET_HO)
72
73 ho: $(TARGET_HO)
74
75 $(TARGET_HO): $(TARGET_HO).pdf
76         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
77
78 $(TARGET_HO).pdf: $(CMN_DEPS) ho.pdf
79         cp ho.pdf $@
80
81 ho.pdf: $(CMN_DEPS_TEX) ho.tex
82
83 ho.tex: $(CMN_DEPS_WIKI) ho.wiki
84
85 ho.wiki: $(CMN_DEPS_WIKI) ho.class.wiki
86         cat document.part1.wiki ho.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
87
88
89 .PHONY: ho2 $(TARGET_HO2)
90
91 ho2: $(TARGET_HO2)
92
93 $(TARGET_HO2): $(TARGET_HO2).pdf
94         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
95
96 $(TARGET_HO2).pdf: $(CMN_DEPS) ho2.pdf
97         cp ho2.pdf $@
98
99 ho2.pdf: $(CMN_DEPS_TEX) ho2.tex
100
101 ho2.tex: $(CMN_DEPS_WIKI) ho2.wiki
102
103 ho2.wiki: $(CMN_DEPS_WIKI) ho2.class.wiki
104         cat document.part1.wiki ho2.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
105
106
107 .PHONY: presentation paper handout handout2
108
109 presentation: $(TARGET_PRESENTATION)
110
111 paper: $(TARGET_PAPER)
112
113 handout: $(TARGET_HANDOUT)
114
115 handout2: $(TARGET_HANDOUT2)
116
117 .PHONY: $(TARGET_PAPER) $(TARGET_PRESENTATION) $(TARGET_HANDOUT) $(TARGET_HANDOUT2)
118
119
120 $(TARGET_PRESENTATION): $(TARGET_PRESENTATION).pdf
121
122 $(TARGET_PRESENTATION).pdf: $(IMAGES) presentation.pdf
123         cp presentation.pdf $@
124
125 presentation.pdf: presentation.tex $(COMMON_DEPS)
126
127
128 $(TARGET_PAPER): $(TARGET_PAPER).pdf
129
130 $(TARGET_PAPER).pdf: paper.pdf
131         cp paper.pdf $@
132
133 paper.pdf: paper.tex $(COMMON_DEPS)
134
135
136 $(TARGET_HANDOUT): $(IMAGES) $(TARGET_HANDOUT).pdf
137
138 $(TARGET_HANDOUT).pdf: handout.pdf
139         cp handout.pdf $@
140
141 handout.pdf: handout.tex $(COMMON_DEPS)
142
143
144 $(TARGET_HANDOUT2): $(TARGET_HANDOUT2).pdf
145
146 $(TARGET_HANDOUT2).pdf: $(IMAGES) handout2.pdf
147         cp handout2.pdf $@
148
149 handout2.pdf: handout2.tex $(COMMON_DEPS)
150
151
152 base.tex: content.tex
153
154 content.tex: content.wiki
155
156
157 .wiki.tex:
158         wiki2beamer $< > $@
159
160 .tex.pdf:
161         pdflatex $<
162         pdflatex $<
163         #if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@ ; fi &
164
165 .dia.png:
166         @dia -e $@ $<
167
168 .dia.fig:
169         @dia -e $@ $<
170
171 .dia.svg:
172         @dia -e $@ $<
173
174
175 .PHONY: png fig svg images
176
177 png: $(DIAIMAGES_PNG)
178
179 fig: $(DIAIMAGES_FIG)
180
181 svg: $(DIAIMAGES_SVG)
182
183 images: $(IMAGES)
184
185
186 .PHONY: archive
187
188 archive: $(TARGET).tar.gz
189
190 $(TARGET).tar.gz: $(TARGET).tar
191         @echo "Creating $@"
192         @rm -f $(TARGET).tar.gz
193         @gzip $(TARGET).tar
194
195
196 # make $(TARGET).tar phony - it vanishes by gzipping...
197 .PHONY: $(TARGET).tar
198
199 $(TARGET).tar: presentation handout handout2 pr ho ho2
200         @echo "Creating $@"
201         @git archive --prefix=$(TARGET)/ HEAD > $@
202         @rm -rf $(TARGET)
203         @mkdir $(TARGET)
204         @cp $(TARGET_PRESENTATION).pdf $(TARGET)
205         #@cp $(TARGET_PAPER).pdf $(TARGET)
206         @cp $(TARGET_HANDOUT).pdf $(TARGET)
207         @cp $(TARGET_HANDOUT2).pdf $(TARGET)
208         @cp $(TARGET_PR).pdf $(TARGET)
209         @cp $(TARGET_HO).pdf $(TARGET)
210         @cp $(TARGET_HO2).pdf $(TARGET)
211         @tar rf $@ $(TARGET)/$(TARGET_PRESENTATION).pdf
212         #@tar rf $@ $(TARGET)/$(TARGET_PAPER).pdf
213         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT).pdf
214         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT2).pdf
215         @tar rf $@ $(TARGET)/$(TARGET_PR).pdf
216         @tar rf $@ $(TARGET)/$(TARGET_HO).pdf
217         @tar rf $@ $(TARGET)/$(TARGET_HO2).pdf
218
219
220
221 .PHONY: clean
222
223 clean:
224         @git clean -f