.POSIX: .SUFFIXES: .all .htm .phtm .html .tex .txt .7 .pdf ED = ed # Items that are indented with additional spaces aren’t unpublished yet objects = index.htm about.htm 404.htm projects.htm uses.htm uses-paper.htm kpop.htm \ checklist.htm \ tripod.htm \ design-for-exploitation.htm \ this-post-is-lisp.htm \ digital-bum.htm \ hypertext.htm \ making-c-uglier.htm \ making-c-prettier.htm \ this-post-is-cpp.htm \ lambda-0.htm \ brainfuck-lessons.htm \ lambda-1.htm \ regex-pronouns.htm \ lisp-design-patterns.htm \ nyxt-to-surf.htm \ lambda-2.htm \ tui-not-tui.htm \ falsehoods-html.htm \ oop-c.htm \ guile-optimization.htm \ lambda-3.htm \ cl-is-lots.htm \ my-generics.htm \ gmi-a11y.htm \ c-not-c.htm \ prose-vs-tweet.htm \ the-regex.htm \ scrollbar.htm \ disroot-gotcha.htm \ wisp.htm \ not-ai.htm \ commitmsg.htm \ printf.htm \ procnames.htm \ parameterized.htm \ paren-regex.htm \ sed-ed.htm \ lisp-indent.htm \ generated.htm \ this-post-is-ed.htm \ 3mins.htm \ customize-ed.htm \ codeberg-pages.htm \ ugly-things.htm \ lambda-4.htm \ css-only-highlight.htm \ postmodern-front-end.htm \ cutting-corners.htm \ llms-suck.htm \ tarot-biases.htm \ transparent-ui.htm \ lost-compute.htm \ explanations.htm \ lambda-5.htm \ stupid.htm \ logical-pathnames.htm \ customize-repl.htm \ email-formatting.htm \ just.htm \ lisp-lines.htm \ pidgin.htm \ my-ed.htm \ select-text.htm \ threading.htm \ advanc-ed.htm \ lambda-6.htm \ customize-ed-2.htm \ atlas.htm \ better-word.htm \ blc-hard.htm \ cl-submodules.htm \ 2025.htm \ package-inferred.htm \ boredom.htm \ easy-fixes.htm \ markdown.htm \ computer-tenderness.htm \ ed-1.htm \ ed-2.htm \ vscode-bad.htm \ no-more-software.htm \ re-prose.htm \ kaktovik.htm \ gess.htm \ principles.htm \ escalator.htm \ arm-shorthand-1888.htm \ pandyssia/rules.htm \ wiki.htm \ my-scheme.htm \ no-laptop.htm \ new-menu.htm html_objects = $(objects:htm=html) _html_only_objects = repl.htm cv.htm html_only_objects = $(_html_only_objects:htm=html) txt_objects = $(objects:htm=txt) man_objects = $(objects:htm=7) tex_objects = $(objects:htm=tex) pdf_objects = $(objects:htm=pdf) re-prose.htm: re-prose.phtm -cp re-prose.phtm $@ -cat scripts/re-prose.ed | $(ED) -s $@ _tarot_objects = tarot/stories/index.htm \ tarot/stories/satiated-death.htm \ tarot/stories/little-town-queen.htm \ tarot/stories/witness.htm \ tarot/stories/swords-x.htm \ tarot/stories/death.htm \ tarot/stories/cups-king.htm \ tarot/stories/pentacles-queen.htm \ tarot/stories/mirror.htm \ tarot/stories/strange-gods.htm tarot_objects = tarot/index.html $(_tarot_objects:htm=html) tarot/index.html: tarot/index.htm -cp tarot/index.htm $@ -$(ED) -s $@ < tarot/totarot.ed tarot: $(tarot_objects) html: $(html_objects) $(html_only_objects) txt: $(txt_objects) man: $(man_objects) latex: $(tex_objects) pdf: latex $(pdf_objects) all: html txt man latex tarot _redirects .htm.txt: -cp $< $@ -$(ED) -s $@ < scripts/preprocess.ed -$(ED) -s $@ < scripts/totxt.ed @echo $@ .htm.7: -cp $< $@ -$(ED) -s $@ < scripts/preprocess.ed -$(ED) -s $@ < scripts/toman.ed @echo $@ .htm.html: -cp $< $@ -$(ED) -s $@ < scripts/preprocess.ed -$(ED) -s $@ < scripts/tohtml.ed -$(ED) -s $@ < scripts/tohighlight.ed @echo $@ .htm.tex: -cp $< $@ -$(ED) -s $@ < scripts/preprocess.ed -$(ED) -s $@ < scripts/totex.ed @echo $@ .tex.pdf: -xelatex -interaction=batchmode -output-directory $(@D)/ $< .htm.all: $(MAKE) $(MAKEFLAGS) $(@:all=html) $(MAKE) $(MAKEFLAGS) $(@:all=txt) $(MAKE) $(MAKEFLAGS) $(@:all=7) $(MAKE) $(MAKEFLAGS) $(@:all=tex) @echo "done" _redirects: _redirects.in $(objects) cp _redirects.in _redirects $(foreach object,$(patsubst %.htm,%,$(objects)), echo "/$(object) /$(object).html 301" >> _redirects ;) $(foreach object,$(patsubst %.htm,%,$(_html_only_objects)), echo "/$(object) /$(object).html 301" >> _redirects ;) clean: -rm $(html_objects) $(html_only_objects) \ $(txt_objects) \ $(man_objects) \ $(tex_objects) \ $(tarot_objects) \ *.aux *.log *.out *.nav *.snm *.toc \ */*.aux */*.log */*.out */*.nav */*.snm */*.toc \ $(pdf_objects) \ $(tarot_objects)