Makefile @ e7ed5e5a2d9e default tip

Use ERROR instead of an ECASE form with no clauses.

SBCL outputs compilation warnings for ECASE forms missing clauses and that
causes Quicklisp test failures.
author Robert Brown <robert.brown@gmail.com>
date Sat, 04 Nov 2023 10:42:34 -0400
parents 0434eb58dde3
children (none)
.PHONY: vendor test test-sbcl test-ccl test-ecl test-abcl pubdocs

heading_printer = $(shell which heading || echo 'true')
sourcefiles = $(shell ffind --full-path --literal .lisp)
docfiles = $(shell ls docs/*.markdown)
apidocs = $(shell ls docs/*reference*.markdown)

# Vendor ----------------------------------------------------------------------
vendor/quickutils.lisp: vendor/make-quickutils.lisp
	cd vendor && sbcl --noinform --load make-quickutils.lisp  --eval '(quit)'

vendor: vendor/quickutils.lisp

# Testing ---------------------------------------------------------------------
test: test-sbcl test-ccl test-ecl test-abcl

test-sbcl:
	$(heading_printer) computer 'SBCL'
	sbcl --load test/run.lisp

test-ccl:
	$(heading_printer) slant 'CCL'
	ccl --load test/run.lisp

test-ecl:
	$(heading_printer) roman 'ECL'
	ecl -load test/run.lisp

test-abcl:
	$(heading_printer) broadway 'ABCL'
	abcl --load test/run.lisp

# Documentation ---------------------------------------------------------------
$(apidocs): $(sourcefiles)
	sbcl --noinform --load docs/api.lisp  --eval '(quit)'

docs/build/index.html: $(docfiles) $(apidocs) docs/title
	cd docs && ~/.virtualenvs/d/bin/d

docs: docs/build/index.html

pubdocs: docs
	hg -R ~/src/docs.stevelosh.com pull -u upstream
	rsync --delete -a ./docs/build/ ~/src/docs.stevelosh.com/cl-digraph
	hg -R ~/src/docs.stevelosh.com commit -Am 'cl-digraph: Update site.'
	hg -R ~/src/docs.stevelosh.com push upstream
	hg -R ~/src/docs.stevelosh.com push