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