lce14: content
[obnox/slides/2014-10-lce.git] / Makefile
1 TARGET_BASE_NAME := $(shell cat BASENAME)
2
3 TARGET_PRESENTATION = $(TARGET_BASE_NAME)-presentation
4 TARGET_HANDOUT = $(TARGET_BASE_NAME)-handout
5 TARGET_HANDOUT2 = $(TARGET_BASE_NAME)-handout2
6 TARGET_PAPER = $(TARGET_BASE_NAME)-paper
7 TARGET_BASE = $(TARGET_BASE_NAME)-base
8
9 TARGET = $(TARGET_BASE_NAME)
10
11 DIAIMAGES     = design-ctdb-three-nodes.dia ctdb-design-daemons.dia samba-layers.dia samba-release-stream.dia
12
13 DIAIMAGES_PNG = design-ctdb-three-nodes.png ctdb-design-daemons.png samba-layers.png samba-release-stream.png
14
15 DIAIMAGES_FIG = design-ctdb-three-nodes.fig ctdb-design-daemons.fig samba-layers.fig
16
17 DIAIMAGES_SVG = design-ctdb-three-nodes.svg ctdb-design-daemons.svg samba-layers.svg
18
19 #IMAGES = $(DIAIMAGES_PNG) \
20 #        regedit.png \
21 #        ctdb-status.png \
22 #        ctdb-status-1.png \
23 #        ctdb-ip.png \
24 #        ctdb-ip-1.png \
25 #        smbstatus.png
26
27 IMAGES = $(DIAIMAGES_PNG)
28
29 COMMON_DEPS = base-wiki.tex base.tex $(IMAGE)
30
31 .SUFFIXES: .tex .pdf .dia .png .fig .svg .wiki
32
33 .PHONY: all
34
35 all: $(TARGET_PRESENTATION) $(TARGET_HANDOUT) $(TARGET_HANDOUT2)
36
37 .PHONY: presentation paper handout handout2
38
39 presentation: $(TARGET_PRESENTATION)
40
41 paper: $(TARGET_PAPER)
42
43 handout: $(TARGET_HANDOUT)
44
45 handout2: $(TARGET_HANDOUT2)
46
47 .PHONY: $(TARGET_PAPER) $(TARGET_PRESENTATION) $(TARGET_HANDOUT) $(TARGET_HANDOUT2)
48
49
50 $(TARGET_PRESENTATION): $(TARGET_PRESENTATION).pdf
51
52 $(TARGET_PRESENTATION).pdf: $(IMAGES) presentation.pdf
53         cp presentation.pdf $@
54
55 presentation.pdf: presentation.tex $(COMMON_DEPS)
56
57
58 $(TARGET_PAPER): $(TARGET_PAPER).pdf
59
60 $(TARGET_PAPER).pdf: paper.pdf
61         cp paper.pdf $@
62
63 paper.pdf: paper.tex $(COMMON_DEPS)
64
65
66 $(TARGET_HANDOUT): $(IMAGES) $(TARGET_HANDOUT).pdf
67
68 $(TARGET_HANDOUT).pdf: handout.pdf
69         cp handout.pdf $@
70
71 handout.pdf: handout.tex $(COMMON_DEPS)
72
73
74 $(TARGET_HANDOUT2): $(TARGET_HANDOUT2).pdf
75
76 $(TARGET_HANDOUT2).pdf: $(IMAGES) handout2.pdf
77         cp handout2.pdf $@
78
79 handout2.pdf: handout2.tex $(COMMON_DEPS)
80
81
82 base.tex: base-wiki.tex
83
84 base-wiki.tex: base-wiki.wiki
85
86
87 .wiki.tex:
88         wiki2beamer $< > $@
89
90 .tex.pdf:
91         pdflatex $<
92         pdflatex $<
93
94 .dia.png:
95         @dia -e $@ $<
96
97 .dia.fig:
98         @dia -e $@ $<
99
100 .dia.svg:
101         @dia -e $@ $<
102
103
104 .PHONY: png fig svg images
105
106 png: $(DIAIMAGES_PNG)
107
108 fig: $(DIAIMAGES_FIG)
109
110 svg: $(DIAIMAGES_SVG)
111
112 images: $(IMAGES)
113
114
115 .PHONY: archive
116
117 archive: $(TARGET).tar.gz
118
119 $(TARGET).tar.gz: $(TARGET).tar
120         @echo "Creating $@"
121         @rm -f $(TARGET).tar.gz
122         @gzip $(TARGET).tar
123
124
125 # make $(TARGET).tar phony - it vanishes by gzipping...
126 .PHONY: $(TARGET).tar
127
128 $(TARGET).tar: presentation handout handout2
129         @echo "Creating $@"
130         @git archive --prefix=$(TARGET)/ HEAD > $@
131         @rm -rf $(TARGET)
132         @mkdir $(TARGET)
133         @cp $(TARGET_PRESENTATION).pdf $(TARGET)
134         #@cp $(TARGET_PAPER).pdf $(TARGET)
135         @cp $(TARGET_HANDOUT).pdf $(TARGET)
136         @cp $(TARGET_HANDOUT2).pdf $(TARGET)
137         @tar rf $@ $(TARGET)/$(TARGET_PRESENTATION).pdf
138         #@tar rf $@ $(TARGET)/$(TARGET_PAPER).pdf
139         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT).pdf
140         @tar rf $@ $(TARGET)/$(TARGET_HANDOUT2).pdf
141
142
143 .PHONY: clean
144
145 clean:
146         @git clean -f