More work on witness dia pictures.
[obnox/slides/2016-02-devconf.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 = $(TARGET_BASE_NAME)
8
9 # IMAGE_MC_V1 = smb3-mc-samba
10 # IMAGE_MC_V2 = smb3-mc-samba-v2
11 # IMAGE_MC_DAEMONS_N1 = smb3-mc-daemons-n1
12 # IMAGE_MC_DAEMONS_N1A = smb3-mc-daemons-n1a
13 # IMAGE_MC_DAEMONS_N2 = smb3-mc-daemons-n2
14 # IMAGE_MC_DAEMONS_N3 = smb3-mc-daemons-n3
15 # IMAGE_RDMA_V2 = smb3-rdma-samba-v2
16 IMAGE_CTDB_3N = design-ctdb-three-nodes
17 IMAGE_CTDB_DAEMONS = ctdb-design-daemons
18 IMAGE_SAMBA_LAYERS = samba-layers
19 IMAGE_CTDB_3N_WITNESS_STEP0 = design-ctdb-three-nodes-with-witness-step0
20 IMAGE_CTDB_3N_WITNESS_STEP1 = design-ctdb-three-nodes-with-witness-step1
21 IMAGE_CTDB_3N_WITNESS_STEP2A = design-ctdb-three-nodes-with-witness-step2a
22 IMAGE_CTDB_3N_WITNESS_STEP2B = design-ctdb-three-nodes-with-witness-step2b
23 IMAGE_CTDB_3N_WITNESS_STEP3A = design-ctdb-three-nodes-with-witness-step3a
24 IMAGE_CTDB_3N_WITNESS_STEP3B = design-ctdb-three-nodes-with-witness-step3b
25 IMAGE_CTDB_3N_WITNESS_STEP4 = design-ctdb-three-nodes-with-witness-step4
26 IMAGE_CTDB_3N_WITNESS_STEP5 = design-ctdb-three-nodes-with-witness-step5
27 IMAGE_SAMBA_DAEMONS_P1 = samba-daemons-vfs-p1
28 IMAGE_SAMBA_DAEMONS_P2 = samba-daemons-vfs-p2
29 IMAGE_SAMBA_DAEMONS_P3 = samba-daemons-vfs-p3
30 IMAGE_SAMBA_DAEMONS_P4 = samba-daemons-vfs-p4
31 # IMAGE_SAMBA_RELEASES = samba-release-stream
32
33 # DIAIMAGES_BASE := $(IMAGE_MC_V1) \
34 #                 $(IMAGE_MC_V2) \
35 #                 $(IMAGE_MC_DAEMONS_N1) \
36 #                 $(IMAGE_MC_DAEMONS_N1A) \
37 #                 $(IMAGE_MC_DAEMONS_N2) \
38 #                 $(IMAGE_MC_DAEMONS_N3) \
39 #                 $(IMAGE_RDMA_V2) \
40 #                 $(IMAGE_CTDB_3N) \
41 #                 $(IMAGE_CTDB_DAEMONS) \
42 #                 $(IMAGE_SAMBA_LAYERS) \
43 #                 $(IMAGE_SAMBA_RELEASES)
44
45 DIAIMAGES_BASE := \
46                   $(IMAGE_CTDB_3N) \
47                   $(IMAGE_CTDB_3N_WITNESS_STEP0) \
48                   $(IMAGE_CTDB_3N_WITNESS_STEP1) \
49                   $(IMAGE_CTDB_3N_WITNESS_STEP2A) \
50                   $(IMAGE_CTDB_3N_WITNESS_STEP2B) \
51                   $(IMAGE_CTDB_3N_WITNESS_STEP3A) \
52                   $(IMAGE_CTDB_3N_WITNESS_STEP3B) \
53                   $(IMAGE_CTDB_3N_WITNESS_STEP4) \
54                   $(IMAGE_CTDB_3N_WITNESS_STEP5) \
55                   $(IMAGE_CTDB_DAEMONS) \
56                   $(IMAGE_SAMBA_LAYERS) \
57                   $(IMAGE_SAMBA_DAEMONS_P1) \
58                   $(IMAGE_SAMBA_DAEMONS_P2) \
59                   $(IMAGE_SAMBA_DAEMONS_P3) \
60                   $(IMAGE_SAMBA_DAEMONS_P4)
61
62
63 DIAIMAGES :=     $(foreach image, $(DIAIMAGES_BASE), $(image).dia)
64 DIAIMAGES_PNG := $(foreach image, $(DIAIMAGES_BASE), $(image).png)
65 DIAIMAGES_SVG := $(foreach image, $(DIAIMAGES_BASE), $(image).svg)
66 DIAIMAGES_FIG := $(foreach image, $(DIAIMAGES_BASE), $(image).fig)
67
68 #IMAGES = $(DIAIMAGES_PNG) \
69 #        regedit.png \
70 #        ctdb-status.png \
71 #        ctdb-status-1.png \
72 #        ctdb-ip.png \
73 #        ctdb-ip-1.png \
74 #        smbstatus.png
75
76 IMAGES = $(DIAIMAGES_PNG)
77
78
79 EXTRA_WIKI_FILES = \
80                    intro-history.wiki \
81                    clustering-ctdb.wiki \
82                    smb3.wiki
83
84
85 CMN_DEPS = Makefile $(IMAGES)
86
87 CMN_DEPS_WIKI = $(CMN_DEPS) document.part1.wiki document.part2.wiki document.part3.wiki content.wiki info.wiki
88
89 CMN_DEPS_TEX = $(CMN_DEPS) beamercolorthemeobnoxsamba.sty beamerouterthemeobnoxinfolines.sty beamerthemeObnoxSamba.sty
90
91 CONTENT_DEPS_WIKI = $(CMN_DEPS) content.wiki $(EXTRA_WIKI_FILES)
92
93 COMMON_DEPS = $(CMN_DEPS)
94
95 VIEWER = evince
96 SHOW = yes
97
98 .SUFFIXES: .tex .pdf .dia .png .fig .svg .wiki
99
100 .PHONY: all
101
102 all: pr
103
104
105 .PHONY: pr $(TARGET_PR)
106
107 pr: $(TARGET_PR)
108
109 $(TARGET_PR): $(TARGET_PR).pdf
110         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
111
112 $(TARGET_PR).pdf: $(CMN_DEPS) pr.pdf
113         cp pr.pdf $@
114
115 pr.pdf: $(CMN_DEPS_TEX) pr.tex
116
117 pr.tex: pr.wiki $(CONTENT_DEPS_WIKI)
118
119 pr.wiki: $(CMN_DEPS_WIKI) pr.class.wiki
120         cat document.part1.wiki pr.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
121
122
123 .PHONY: ho $(TARGET_HO)
124
125 ho: $(TARGET_HO)
126
127 $(TARGET_HO): $(TARGET_HO).pdf
128         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
129
130 $(TARGET_HO).pdf: $(CMN_DEPS) ho.pdf
131         cp ho.pdf $@
132
133 ho.pdf: $(CMN_DEPS_TEX) ho.tex
134
135 ho.tex: ho.wiki $(CONTENT_DEPS_WIKI)
136
137 ho.wiki: $(CMN_DEPS_WIKI) ho.class.wiki
138         cat document.part1.wiki ho.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
139
140
141 .PHONY: ho2 $(TARGET_HO2)
142
143 ho2: $(TARGET_HO2)
144
145 $(TARGET_HO2): $(TARGET_HO2).pdf
146         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
147
148 $(TARGET_HO2).pdf: $(CMN_DEPS) ho2.pdf
149         cp ho2.pdf $@
150
151 ho2.pdf: $(CMN_DEPS_TEX) ho2.tex
152
153 ho2.tex: ho2.wiki $(CONTENT_DEPS_WIKI)
154
155 ho2.wiki: $(CMN_DEPS_WIKI) ho2.class.wiki
156         cat document.part1.wiki ho2.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
157
158
159
160 .wiki.tex:
161         wiki2beamer $< > $@
162
163 .tex.pdf:
164         pdflatex $<
165         pdflatex $<
166         #if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@ ; fi &
167
168 .dia.png:
169         @dia -e $@ -s x1280 $<
170
171 .dia.fig:
172         @dia -e $@ $<
173
174 .dia.svg:
175         @dia -e $@ $<
176
177
178 .PHONY: png fig svg images
179
180 png: $(DIAIMAGES_PNG)
181
182 fig: $(DIAIMAGES_FIG)
183
184 svg: $(DIAIMAGES_SVG)
185
186 images: $(IMAGES)
187
188
189 .PHONY: archive
190
191 archive: $(TARGET).tar.gz
192
193 $(TARGET).tar.gz: $(TARGET).tar
194         @echo "Creating $@"
195         @rm -f $(TARGET).tar.gz
196         @gzip $(TARGET).tar
197
198
199 # make $(TARGET).tar phony - it vanishes by gzipping...
200 .PHONY: $(TARGET).tar
201
202 $(TARGET).tar: pr ho ho2
203         @echo "Creating $@"
204         @git archive --prefix=$(TARGET)/ HEAD > $@
205         @rm -rf $(TARGET)
206         @mkdir $(TARGET)
207         @cp $(TARGET_PR).pdf $(TARGET)
208         @cp $(TARGET_HO).pdf $(TARGET)
209         @cp $(TARGET_HO2).pdf $(TARGET)
210         @tar rf $@ $(TARGET)/$(TARGET_PR).pdf
211         @tar rf $@ $(TARGET)/$(TARGET_HO).pdf
212         @tar rf $@ $(TARGET)/$(TARGET_HO2).pdf
213
214
215
216 .PHONY: clean
217
218 clean:
219         @git clean -f