Makefile @ de541242aeb3 default tip

Refactor a number of things

1. Removed the (vendored) dependency on Quickutils.
2. Removed dependency on Roswell for running unit tests.
3. All system-running functions are expanded into `ARITY` nested loops, not just those with arity 2 or smaller.
4. Modernized the file/directory structure to match my recent projects.
5. Added more unit tests to cover parts of the code that weren't being tested before.
6. The internal system argument indexes are now vectors instead of lists.
7. Exported `all-entities` for debugging.
author Steve Losh <>
date Sun, 29 Aug 2021 14:41:27 -0400
parents 91983c942160
children (none)
.PHONY: pubdocs test-sbcl test-ccl test-ecl test-abcl test

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

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

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

docs: docs/build/index.html

pubdocs: docs
	hg -R ~/src/ pull -u
	rsync --delete -a ./docs/build/ ~/src/
	hg -R ~/src/ commit -Am 'beast: Update site.'
	hg -R ~/src/ push

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

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

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

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

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