info update
[obnox/slides/2016-04-vault.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_SAMBA_RELEASES = samba-release-stream
20
21 DIAIMAGES_BASE := $(IMAGE_MC_V1) \
22                   $(IMAGE_MC_V2) \
23                   $(IMAGE_MC_DAEMONS_N1) \
24                   $(IMAGE_MC_DAEMONS_N1A) \
25                   $(IMAGE_MC_DAEMONS_N2) \
26                   $(IMAGE_MC_DAEMONS_N3)\
27                   $(IMAGE_RDMA_V2)
28 #                 $(IMAGE_CTDB_3N) \
29 #                 $(IMAGE_CTDB_DAEMONS) \
30 #                 $(IMAGE_SAMBA_LAYERS) \
31 #                 $(IMAGE_SAMBA_RELEASES)
32
33 #DIAIMAGES_BASE :=
34
35 DIAIMAGES :=     $(foreach image, $(DIAIMAGES_BASE), $(image).dia)
36 DIAIMAGES_PNG := $(foreach image, $(DIAIMAGES_BASE), $(image).png)
37 DIAIMAGES_SVG := $(foreach image, $(DIAIMAGES_BASE), $(image).svg)
38 DIAIMAGES_FIG := $(foreach image, $(DIAIMAGES_BASE), $(image).fig)
39
40 #IMAGES = $(DIAIMAGES_PNG) \
41 #        regedit.png \
42 #        ctdb-status.png \
43 #        ctdb-status-1.png \
44 #        ctdb-ip.png \
45 #        ctdb-ip-1.png \
46 #        smbstatus.png
47
48 IMAGES = $(DIAIMAGES_PNG)
49
50
51 EXTRA_WIKI_FILES = \
52                    intro-history.wiki \
53                    smb3.wiki \
54                    multichannel.wiki \
55                    smb-direct.wiki \
56                    witness.wiki \
57                    persistent.wiki \
58                    next.wiki \
59                    thanks.wiki
60
61
62 CMN_DEPS = Makefile $(IMAGES)
63
64 CMN_DEPS_WIKI = $(CMN_DEPS) document.part1.wiki document.part2.wiki document.part3.wiki content.wiki info.wiki
65
66 CMN_DEPS_TEX = $(CMN_DEPS) beamercolorthemeobnoxsamba.sty beamerouterthemeobnoxinfolines.sty beamerthemeObnoxSamba.sty
67
68 CONTENT_DEPS_WIKI = $(CMN_DEPS) content.wiki $(EXTRA_WIKI_FILES)
69
70 COMMON_DEPS = $(CMN_DEPS)
71
72 VIEWER = evince
73 SHOW = yes
74
75 .SUFFIXES: .tex .pdf .dia .png .fig .svg .wiki
76
77 .PHONY: all
78
79 all: pr
80
81
82 .PHONY: pr $(TARGET_PR)
83
84 pr: $(TARGET_PR)
85
86 $(TARGET_PR): $(TARGET_PR).pdf
87         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
88
89 $(TARGET_PR).pdf: $(CMN_DEPS) pr.pdf
90         cp pr.pdf $@
91
92 pr.pdf: $(CMN_DEPS_TEX) pr.tex
93
94 pr.tex: pr.wiki $(CONTENT_DEPS_WIKI)
95
96 pr.wiki: $(CMN_DEPS_WIKI) pr.class.wiki
97         cat document.part1.wiki pr.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
98
99
100 .PHONY: ho $(TARGET_HO)
101
102 ho: $(TARGET_HO)
103
104 $(TARGET_HO): $(TARGET_HO).pdf
105         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
106
107 $(TARGET_HO).pdf: $(CMN_DEPS) ho.pdf
108         cp ho.pdf $@
109
110 ho.pdf: $(CMN_DEPS_TEX) ho.tex
111
112 ho.tex: ho.wiki $(CONTENT_DEPS_WIKI)
113
114 ho.wiki: $(CMN_DEPS_WIKI) ho.class.wiki
115         cat document.part1.wiki ho.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
116
117
118 .PHONY: ho2 $(TARGET_HO2)
119
120 ho2: $(TARGET_HO2)
121
122 $(TARGET_HO2): $(TARGET_HO2).pdf
123         if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@.pdf ; fi &
124
125 $(TARGET_HO2).pdf: $(CMN_DEPS) ho2.pdf
126         cp ho2.pdf $@
127
128 ho2.pdf: $(CMN_DEPS_TEX) ho2.tex
129
130 ho2.tex: ho2.wiki $(CONTENT_DEPS_WIKI)
131
132 ho2.wiki: $(CMN_DEPS_WIKI) ho2.class.wiki
133         cat document.part1.wiki ho2.class.wiki document.part2.wiki info.wiki document.part3.wiki > $@
134
135
136
137 .wiki.tex:
138         wiki2beamer $< > $@
139
140 .tex.pdf:
141         pdflatex $<
142         pdflatex $<
143         #if [ "$(SHOW)" = "yes" ]; then $(VIEWER) $@ ; fi &
144
145 .dia.png:
146         @dia -e $@ -s x1280 $<
147
148 .dia.fig:
149         @dia -e $@ $<
150
151 .dia.svg:
152         @dia -e $@ $<
153
154
155 .PHONY: png fig svg images
156
157 png: $(DIAIMAGES_PNG)
158
159 fig: $(DIAIMAGES_FIG)
160
161 svg: $(DIAIMAGES_SVG)
162
163 images: $(IMAGES)
164
165
166 .PHONY: archive
167
168 archive: $(TARGET).tar.gz
169
170 $(TARGET).tar.gz: $(TARGET).tar
171         @echo "Creating $@"
172         @rm -f $(TARGET).tar.gz
173         @gzip $(TARGET).tar
174
175
176 # make $(TARGET).tar phony - it vanishes by gzipping...
177 .PHONY: $(TARGET).tar
178
179 $(TARGET).tar: pr ho ho2
180         @echo "Creating $@"
181         @git archive --prefix=$(TARGET)/ HEAD > $@
182         @rm -rf $(TARGET)
183         @mkdir $(TARGET)
184         @cp $(TARGET_PR).pdf $(TARGET)
185         @cp $(TARGET_HO).pdf $(TARGET)
186         @cp $(TARGET_HO2).pdf $(TARGET)
187         @tar rf $@ $(TARGET)/$(TARGET_PR).pdf
188         @tar rf $@ $(TARGET)/$(TARGET_HO).pdf
189         @tar rf $@ $(TARGET)/$(TARGET_HO2).pdf
190
191
192
193 .PHONY: clean
194
195 clean:
196         @git clean -f