Makefile @ 5a32a34392a2

Refactor a couple of things

Changes the `:json/class` initarg to just `:json` because it's used so much.
Seems more ergonomic.

Also changes slots without an explicit `:json` to just be standard slots and to
not be serialized.  This seems safer and more reasonable anyway — I'd rather
have to be a little more explict that to accidentally serialize a `password`
slot.
author Steve Losh <steve@stevelosh.com>
date Tue, 28 Jul 2020 21:28:29 -0400
parents a2712b3d3b16
children (none)
.PHONY: test test-sbcl test-ccl test-ecl test-abcl test-clasp 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)

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

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

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

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

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

test-clasp:
	$(heading_printer) o8 'CLASP'
	time clasp --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
	rsync --delete -a ./docs/build/ ~/src/docs.stevelosh.com/jarl
	hg -R ~/src/docs.stevelosh.com commit -Am 'jarl: Update site.'
	hg -R ~/src/docs.stevelosh.com push