]> gitweb.michael.orlitzky.com - charm-bypass.git/blobdiff - Makefile.am
Makefile.am: use scour to optimize the SVG as part of the build
[charm-bypass.git] / Makefile.am
index dfeca2ad9211c06a8c057d93dd66715b827f27e3..0bfed50bdcf372d3b0302070dcf6613c103db864 100644 (file)
@@ -1 +1,56 @@
 EXTRA_DIST = doc src
+
+# List of element IDs that we use in the HTML document.
+PRECIOUS_IDS =  \
+  bus           \
+  city          \
+  citycopy      \
+  clouds        \
+  cloudscopy    \
+  train         \
+  tram          \
+  trees         \
+  treescopy     \
+  serviceletter \
+  servicename   \
+  sky           \
+  ticketdate    \
+  tickettime
+
+# Optimize our SVG, and remove its XML prologue so that it can be
+# included directly into the HTML document.
+day.svg: src/day.svg
+       @SCOUR@ --protect-ids-list=$$(echo $(PRECIOUS_IDS) | tr ' ' ',') \
+                --enable-id-stripping \
+                --enable-comment-stripping \
+                --remove-descriptive-elements \
+                --no-renderer-workaround \
+                --strip-xml-prolog \
+                --no-line-breaks \
+                --error-on-flowtext \
+                $< > $@
+
+# Base64-encode a woff2 (web open font format 2.0) file. We use this
+# to embed fonts directly into the CSS that requires them.
+CharmBypass-Regular.base64: src/CharmBypass-Regular.woff2
+       @BASE64@ -w0 $< > $@
+CharmBypass-Bold.base64: src/CharmBypass-Bold.woff2
+       @BASE64@ -w0 $< > $@
+
+# Build index.html by substituting the contents of a few (single
+# line!) files into @PLACEHOLDERS@ within src/index.html.in. If you
+# put tildes in src/day.svg this will probably break, so please don't
+# do that.
+index.html: src/index.html.in day.svg CharmBypass-Regular.base64 CharmBypass-Bold.base64
+       sed -e "s~@CBPREGULAR@~$$(cat CharmBypass-Regular.base64)~" \
+            -e "s~@CBPBOLD@~$$(cat CharmBypass-Bold.base64)~" \
+            -e "s~@SVGDATA@~$$(cat day.svg)~" \
+            $< > $@
+
+# If you really want to, we support installing index.html
+# to (say) /usr/share/charm-bypass/index.html.
+dist_pkgdata_DATA = index.html
+
+# Automake doesn't understand our wacky build process so we have to
+# tell it which files are produced by running "make"
+CLEANFILES = $(dist_pkgdata_DATA) CharmBypass-Regular.base64 CharmBypass-Bold.base64 day.svg