Updates to manual.
[dcpomatic.git] / doc / manual / Makefile
1 # DCP-o-matic manual makefile
2
3 all:    html pdf
4
5 DIAGRAMS := file-structure.svg 3d-left-right.svg
6
7 SCREENSHOTS := file-new.png video-new-film.png still-new-film.png video-select-content-file.png \
8                still-select-content-file.png examine-thumbs.png examine-content.png timing-tab.png \
9                calculate-audio-gain.png prefs.png making-dcp.png filters.png video-tab.png audio-tab.png subtitles-tab.png \
10                audio-plot.png audio-map-eg1.png audio-map-eg2.png audio-map-eg3.png
11
12 XML := dcpomatic.xml
13
14 GRAPHICS := 
15
16 #
17 # For the HTML, default to copying the screenshots direct
18 #
19 html/screenshots/%.png: screenshots/%.png
20         mkdir -p html/screenshots
21         cp $< $@
22
23 #
24 # Some need resizing...
25 #
26 html/screenshots/editor.png: screenshots/editor.png
27         mkdir -p html/screenshots
28         convert -resize 50% $< $@
29 html/screenshots/mixer.png: screenshots/mixer.png
30         mkdir -p html/screenshots
31         convert -resize 50% $< $@
32 html/screenshots/default-folder-for-new-sessions.png: screenshots/default-folder-for-new-sessions.png
33         mkdir -p html/screenshots
34         convert -resize 75% $< $@
35 html/screenshots/welcome-to-ardour.png: screenshots/welcome-to-ardour.png
36         mkdir -p html/screenshots
37         convert -resize 75% $< $@
38 html/screenshots/monitoring-choices.png: screenshots/monitoring-choices.png
39         mkdir -p html/screenshots
40         convert -resize 75% $< $@
41 html/screenshots/monitor-section.png: screenshots/monitor-section.png
42         mkdir -p html/screenshots
43         convert -resize 75% $< $@
44 html/screenshots/audio-midi-setup-device.png: screenshots/audio-midi-setup-device.png
45         mkdir -p html/screenshots
46         convert -resize 75% $< $@
47 html/screenshots/new-session.png: screenshots/new-session.png
48         mkdir -p html/screenshots
49         convert -resize 75% $< $@
50 html/screenshots/export-dialogue.png: screenshots/export-dialogue.png
51         mkdir -p html/screenshots
52         convert -resize 75% $< $@
53 html/screenshots/making-dcp.png: screenshots/making-dcp.png
54         mkdir -p html/screenshots
55         convert -resize 75% $< $@
56
57 # For HTML: convert graphics from SVG to PNG
58 graphics/%.png: graphics/%.svg
59         inkscape -z -f $< --export-png $@ --export-area-drawing
60
61 # For LaTeX/PDF: convert graphics from SVG to PDF
62 graphics/%.pdf: graphics/%.svg
63         inkscape -z -f $< --export-pdf $@ --export-area-drawing
64
65 # For HTML: convert diagrams from SVG to PNG
66 diagrams/%.png: diagrams/%.svg
67         inkscape -z -f $< --export-png $@ --export-area-drawing
68
69 # For LaTeX/PDF: convert diagrams from SVG to PDF
70 diagrams/%.pdf: diagrams/%.svg
71         inkscape -z -f $< --export-pdf $@ --export-area-drawing
72
73 #
74 # HTML
75 #
76
77 html:   $(XML) dcpomatic-html.xsl extensions-html.ent dcpomatic.css \
78         $(addprefix html/screenshots/,$(SCREENSHOTS)) \
79         $(subst .svg,.png,$(addprefix diagrams/,$(DIAGRAMS))) \
80         $(subst .svg,.png,$(addprefix graphics/,$(GRAPHICS))) \
81
82 #       The DocBook needs to know what file extensions to look for
83 #       for screenshots and diagrams; use the correct file to tell it.
84         cp extensions-html.ent extensions.ent
85
86 #       DocBoox -> html
87         xmlto html -m dcpomatic-html.xsl dcpomatic.xml --skip-validation -o html
88
89 #       Copy graphics and CSS in
90         mkdir -p html/diagrams
91 #       mkdir -p html/graphics
92         cp diagrams/*.png html/diagrams
93 #       cp graphics/*.png html/graphics
94         cp dcpomatic.css html
95
96 #
97 # PDF
98 #
99
100 pdf:    $(XML) dcpomatic-pdf.xsl extensions-pdf.ent screenshots/*.png $(subst .svg,.pdf,$(addprefix diagrams/,$(DIAGRAMS)))
101
102 #       The DocBook needs to know what file extensions to look for
103 #       for screenshots and diagrams; use the correct file to tell it.
104         cp extensions-pdf.ent extensions.ent
105
106         mkdir -p pdf
107
108         dblatex -p dcpomatic-pdf.xsl -s dcpomatic.sty -r pptex.py -T native dcpomatic.xml -t pdf -o pdf/dcpomatic.pdf
109
110
111 #
112 # LaTeX (handy for debugging)
113 #
114
115 tex:    $(XML) dcpomatic-pdf.xsl extensions-pdf.ent
116
117 #       The DocBook needs to know what file extensions to look for
118 #       for screenshots and diagrams; use the correct file to tell it.
119         cp extensions-pdf.ent extensions.ent
120
121         mkdir -p tex
122
123 #       -P <foo> removes the revhistory table
124         dblatex -P doc.collab.show=0 -P latex.output.revhistory=0 -p dcpomatic-pdf.xsl -s dcpomatic.sty -r pptex.py -T native dcpomatic.xml -t tex -o tex/dcpomatic.tex
125
126
127 clean:; rm -rf html pdf diagrams/*.pdf diagrams/*.png graphics/*.png *.aux dcpomatic.cb dcpomatic.cb2 dcpomatic.glo dcpomatic.idx dcpomatic.ilg
128         rm -rf dcpomatic.ind dcpomatic.lof dcpomatic.log dcpomatic.tex dcpomatic.toc extensions.ent dcpomatic.out