From db9136b33af18e1294fb2486b99e6d9ba9d51450 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 8 Nov 2023 15:55:32 -0500 Subject: [PATCH] Makefile.am: clean up a bit, and include everything in the dist tarball --- Makefile.am | 119 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 48 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3de169c..82aed21 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,46 +1,67 @@ +# If you really want to, we support installing index.html +# to (say) /usr/share/charm-bypass/index.html +dist_pkgdata_DATA = index.html + +# Based on e.g. +# +# https://www.gnu.org/software/automake/manual/html_node/Scripts.html +# +# this looks like the best way to include "sources" for things that +# aren't true programs/libraries. +EXTRA_DIST = \ + CharmBypass-Regular.sfd \ + CharmBypass-Bold.sfd \ + favicon.svg \ + index.html.in \ + sfd2woff.ff \ + svgclean.xsl \ + tableau.svg + # 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 \ +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 +# The base "scour" command used to optimize the tableau and favicon. +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. +# Optimize the favicon using scour. favicon.min.svg: favicon.svg $(SCOUR) $< > $@ -# Optimize our SVG once using XSL, to catch a few things -# that "scour" misses. +# Optimize the tableau once using XSL, to catch a few things that +# "scour" will miss... 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. +# Optimize the tableau (again) using scour, removing 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 \ @@ -59,27 +80,29 @@ tableau.min.min.svg: tableau.min.svg .svg.base64: @BASE64@ -w0 $< > $@ +# List all of the dependencies of the final index.html that themselves +# had to be built. We collect them here because they need to be listed +# in two places, as dependencies of index.html, and in CLEANFILES. +index_html_BUILTDEPS = \ + CharmBypass-Regular.base64 \ + CharmBypass-Bold.base64 \ + favicon.base64 \ + tableau.min.min.svg + # 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 - +# tildes in tableau.svg this will break, so please don't do that. +index.html: index.html.in $(index_html_BUILTDEPS) 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 +# tell it which files are produced by running "make". +CLEANFILES = \ + $(dist_pkgdata_DATA) \ + $(index_html_BUILTDEPS) \ + favicon.min.svg \ + tableau.min.svg -- 2.44.2