all: $(patsubst src/%,%,$(wildcard src/notes/*.xhtml src/*.xhtml)) \ notes/atom.xml blog/index.xhtml blog/gophermap gophermap # Index page index.xhtml: src/index.xhtml build/notes-by-modification-date.xml build/blog.xml tools/xml-to-html.xsl xsltproc -o $@ tools/xml-to-html.xsl $< # Note index page notes/index.xhtml: src/notes/index.xhtml build/notes-by-publication-date.xml tools/xml-to-html.xsl xsltproc -o $@ tools/xml-to-html.xsl $< # Notes notes/%.xhtml: src/notes/%.xhtml tools/xml-to-html.xsl xsltproc -o $@ tools/xml-to-html.xsl $< # Other static pages %.xhtml: src/%.xhtml tools/xml-to-html.xsl xsltproc -o $@ tools/xml-to-html.xsl $< # Blog and phlog indexes. Assuming that the blog post file names are # prefixed with dates in a format that makes sense to sort in the # lexiographic order. blog/index.xhtml: src/blog/index.xhtml build/blog.xml tools/xml-to-html.xsl xsltproc -o $@ tools/xml-to-html.xsl $< build/blog.xml: blog/*.txt (echo '' && \ echo '' && \ ls -r blog/*.txt | \ sed -e "sS^blog/\(.*\)S S" && \ echo '') \ > build/blog.xml blog/gophermap: blog/*.txt (echo "!defanor's phlog" && \ ls -r blog/*.txt | \ sed -e "sS^blog/\(.*\)S0\\1\t\\1S" && \ echo '.') \ > $@ gophermap: src/gophermap.m4 blog/*.txt m4 src/gophermap.m4 > $@ # A single-file dump of all notes build/notes-dump.xml: src/notes/*.xhtml tools/xml-notes-dump.xsl (echo '' && \ echo '' && \ find src/notes -name '*.xhtml' | \ grep -v index.xhtml | \ sed -e "sS^src/\(.*\)S S" && \ echo '') | \ xsltproc -o $@ tools/xml-notes-dump.xsl - # Notes sorted by publication date build/notes-by-publication-date.xml: build/notes-dump.xml tools/xml-notes-sort.xsl xsltproc -o $@ tools/xml-notes-sort.xsl build/notes-dump.xml # Notes sorted by modification date build/notes-by-modification-date.xml: build/notes-dump.xml tools/xml-notes-sort.xsl xsltproc -o $@ --stringparam sortBy modified \ tools/xml-notes-sort.xsl build/notes-dump.xml # An Atom feed notes/atom.xml: build/notes-by-modification-date.xml tools/xml-notes-limit.xsl tools/xml-notes-to-atom.xsl xsltproc --param number 10 tools/xml-notes-limit.xsl \ build/notes-by-modification-date.xml | \ xsltproc -o $@ tools/xml-notes-to-atom.xsl -