.PHONY: all clean objects = index \ about \ cv \ 404 \ projects \ uses \ tripod \ design-for-exploitation \ this-post-is-lisp \ digital-bum \ hypertext \ making-c-uglier \ making-c-prettier \ this-post-is-cpp \ lambda-0 \ brainfuck-lessons \ lambda-1 \ regex-pronouns \ lisp-design-patterns \ nyxt-to-surf \ lambda-2 \ drafts/ex-cheat-sheet \ drafts/ngai-slides \ tui-not-tui \ falsehoods-html \ oop-c \ stuplime-programming-slides \ guile-optimization \ lambda-3 \ cl-is-lots \ my-generics \ modus-proposal \ gmi-a11y \ c-not-c \ prose-vs-tweet \ the-regex \ scrollbar \ disroot-gotcha \ wisp \ not-ai \ commitmsg \ printf \ procnames \ icu/index \ parameterized \ icu/types-values \ icu/control-structures \ paren-regex \ sed-ed \ lisp-indent html_objects = $(patsubst %, %.html, $(objects)) gemtext_objects = $(patsubst %, %.gmi, $(objects)) latex_objects = $(patsubst %, %.tex, $(objects)) pdf_objects = $(patsubst %, %.pdf, $(objects)) clean: -rm $(html_objects) \ $(gemtext_objects) \ $(latex_objects) *.aux *.log *.out \ $(pdf_objects) \ rss.xml sitemap.xml html: $(html_objects) gemtext: $(gemtext_objects) latex: $(latex_objects) pdf: latex $(pdf_objects) all: html gemtext latex pdf rss.xml sitemap.xml %.gmi: %.h -clang --std=c89 -fno-trigraphs -C -E -I. -P -DGEMTEXT -U__GNUC__ -D__FILENAME__=$(patsubst %.h,%,$^) -include markup.h $^ > $@ %.html: %.h -clang --std=c89 -fno-trigraphs -C -E -I. -P -DHYPERTEXT -U__GNUC__ -D__FILENAME__=$(patsubst %.h,%,$^) -include markup.h $^ > $@ %.tex: %.h -clang --std=c89 -fno-trigraphs -C -E -I. -P -DLATEX -U__GNUC__ -D__FILENAME__=$(patsubst %.h,%,$^) -include markup.h $^ > $@ %.pdf: %.tex -xelatex -interaction=batchmode -output-directory $(shell dirname $@) $^ %.xml: %.h -clang --std=c89 -C -E -I. -P $^ > $@