X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=Makefile.am;h=bb9c10c629166144092b6b50034700bc9c49d9be;hb=54ca5b331e84be105e726895a8ccc01ce7f03ec2;hp=dfeca2ad9211c06a8c057d93dd66715b827f27e3;hpb=f291489b2d228330008e39f7e2d04bc7a0fc4a4b;p=charm-bypass.git diff --git a/Makefile.am b/Makefile.am index dfeca2a..bb9c10c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1 +1,87 @@ EXTRA_DIST = doc src + +# List of element IDs that we use in the HTML document. +PRECIOUS_IDS = \ + bus \ + city \ + citycopy \ + codebg \ + codetext \ + clouds \ + cloudscopy \ + destination \ + origin \ + origindest \ + train \ + tram \ + trees \ + treescopy \ + serviceid \ + servicename \ + sky \ + ticket \ + ticketbg \ + ticketdate \ + tickettime \ + zone + +SCOUR = @SCOUR@ --enable-id-stripping \ + --enable-comment-stripping \ + --remove-descriptive-elements \ + --no-renderer-workaround \ + --no-line-breaks \ + --error-on-flowtext + +# Optimize the favicon just like we do the tableau. +favicon.min.svg: favicon.svg + $(SCOUR) $< > $@ + +# Optimize our SVG once using XSL, to catch a few things +# that "scour" misses. +tableau.min.svg: tableau.svg svgclean.xsl + @XSLTPROC@ svgclean.xsl $< > $@ + +# Optimize our SVG again, and remove its XML prologue so that it can +# be included directly into the HTML document. +tableau.min.min.svg: tableau.min.svg + $(SCOUR) --protect-ids-list=$$(echo $(PRECIOUS_IDS) | tr ' ' ',') \ + --strip-xml-prolog \ + $< > $@ + +# Use FontForge to convert the sfd source files to woff2. +.sfd.woff2: + @FONTFORGE@ -script sfd2woff.ff $< + +# Base64-encode a woff2 (web open font format 2.0) file. We use this +# to embed fonts directly into the CSS that requires them. +.woff2.base64: + @BASE64@ -w0 $< > $@ + +# Same with the favicon SVG. +.svg.base64: + @BASE64@ -w0 $< > $@ + +# Build index.html by substituting the contents of a few (single +# line!) files into @PLACEHOLDERS@ within index.html.in. If you put +# tildes in tableau.svg this will probably break, so please don't do +# that. +index.html: index.html.in tableau.min.min.svg CharmBypass-Regular.base64 CharmBypass-Bold.base64 favicon.base64 + + sed -e "s~@CBPREGULAR@~$$(cat CharmBypass-Regular.base64)~" \ + -e "s~@CBPBOLD@~$$(cat CharmBypass-Bold.base64)~" \ + -e "s~@FAVICON@~$$(cat favicon.base64)~" \ + -e "s~@SVGDATA@~$$(cat tableau.min.min.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 \ + favicon.min.svg \ + tableau.min.svg \ + tableau.min.min.svg