# DCP-o-matic manual makefile
+INKSCAPE = ~/Applications/inkscape
+LIBDCP = ~/src/libdcp
+
+
all: html pdf
DIAGRAMS := file-structure.svg 3d-left-right.svg 3d-top-bottom.svg timecode.svg pipeline1.svg pipeline2.svg \
prefs-notifications.pdf timeline1.pdf timed-text-tab.pdf \
making-dcp.pdf filters.pdf video-tab.pdf audio-tab.pdf \
audio-plot.pdf audio-map-eg1.pdf audio-map-eg2.pdf audio-map-eg3.pdf kdm.pdf \
- kdm-creator.pdf export.pdf
+ kdm-creator.pdf export.pdf advanced-content.pdf disk-writer-notice.pdf disk-writer.pdf \
+ markers.pdf prefs-notifications.pdf prefs-cover-sheet.pdf add-screen.pdf
XML := dcpomatic.xml
python3 pdf_crop_by.py $< $@ 460 270 200 580
screenshots/audio-tab.pdf: raw-screenshots/audio-tab.pdf
- python3 pdf_crop_by.py $< $@ 0 0 1230 380
+ python3 pdf_crop_by.py $< $@ 0 0 1480 420
screenshots/timing-tab.pdf: raw-screenshots/timing-tab.pdf
- python3 pdf_crop_by.py $< $@ 0 0 1230 380
+ python3 pdf_crop_by.py $< $@ 0 100 1475 420
screenshots/timed-text-tab.pdf: raw-screenshots/timed-text-tab.pdf
- python3 pdf_crop_by.py $< $@ 0 200 1230 380
+ python3 pdf_crop_by.py $< $@ 0 50 1480 420
screenshots/video-tab.pdf: raw-screenshots/video-tab.pdf
- python3 pdf_crop_by.py $< $@ 0 0 1230 295
+ python3 pdf_crop_by.py $< $@ 0 0 1480 365
screenshots/add-file.pdf: raw-screenshots/add-file.pdf
python3 pdf_crop_by.py $< $@ 0 600 1210 0
python3 pdf_crop_by.py $< $@ 10 75 1350 630
screenshots/dcp-tab.pdf: raw-screenshots/dcp-tab.pdf
- python3 pdf_crop_by.py $< $@ 0 200 1230 30
+ python3 pdf_crop_by.py $< $@ 0 350 1240 30
# For HTML: convert diagrams from SVG to PNG
diagrams/%.png: diagrams/%.svg
- inkscape $< --export-type=png --export-filename=$@ --export-area-drawing
+ $(INKSCAPE) $< --export-type=png --export-filename=$@ --export-area-drawing
# For LaTeX/PDF: convert diagrams from SVG to PDF
diagrams/%.pdf: diagrams/%.svg
- inkscape $< --export-type=pdf --export-filename=$@ --export-area-drawing
+ $(INKSCAPE) $< --export-type=pdf --export-filename=$@ --export-area-drawing
config.xml: ../../src/lib/config.cc config.py
python3 config.py ../../src/lib/config.cc > config.xml
+SHORTCUTS := ../../src/tools/dcpomatic.cc
+
+shortcuts.xml: $(SHORTCUTS) shortcuts.py
+ python3 shortcuts.py $(SHORTCUTS) > $@
+
+LIBDCP_DEPS = $(LIBDCP)/src/verify_j2k.cc $(LIBDCP)/src/dcp.cc $(LIBDCP)/src/verify.cc
+
+verify_errors.xml: verifier.py $(LIBDCP_DEPS)
+ python3 verifier.py $(LIBDCP) ERROR > $@
+
+verify_bv21_errors.xml: verifier.py $(LIBDCP_DEPS)
+ python3 verifier.py $(LIBDCP) BV21_ERROR > $@
+
+verify_warnings.xml: verifier.py $(LIBDCP_DEPS)
+ python3 verifier.py $(LIBDCP) WARNING > $@
+
+
#
# HTML
#
-html: $(XML) config.xml dcpomatic-html.xsl extensions-html.ent dcpomatic.css dcpomatic_create.xml dcpomatic_cli.xml dcpomatic_kdm_cli.xml \
+html: $(XML) config.xml shortcuts.xml verify_errors.xml verify_bv21_errors.xml verify_warnings.xml \
+ dcpomatic-html.xsl extensions-html.ent dcpomatic.css dcpomatic_create.xml dcpomatic_cli.xml dcpomatic_kdm_cli.xml \
$(subst .pdf,.png,$(addprefix html/screenshots/,$(SCREENSHOTS))) \
$(subst .svg,.png,$(addprefix diagrams/,$(DIAGRAMS))) \
# PDF
#
-pdf: $(XML) config.xml dcpomatic-pdf.xsl extensions-pdf.ent dcpomatic_create.xml dcpomatic_cli.xml dcpomatic_kdm_cli.xml \
+pdf: $(XML) config.xml shortcuts.xml verify_errors.xml verify_bv21_errors.xml verify_warnings.xml \
+ dcpomatic-pdf.xsl extensions-pdf.ent dcpomatic_create.xml dcpomatic_cli.xml dcpomatic_kdm_cli.xml \
$(addprefix screenshots/,$(SCREENSHOTS)) \
$(subst .svg,.pdf,$(addprefix diagrams/,$(DIAGRAMS)))