Makefile @ 70f64dff49b5

Add actual documentation
author Steve Losh <steve@stevelosh.com>
date Sat, 23 Feb 2019 14:23:28 -0500
parents 1e155f658715
children db7fd8486570
.PHONY: vendor docs pubdocs test test-sbcl test-ccl test-ecl test-abcl

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

# 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: vendor
	$(heading_printer) computer 'SBCL'
	sbcl --load test/run.lisp

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

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

test-abcl: vendor
	$(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
	cd docs && rm -rf build/assets
	cd docs && cp -R ./assets build/assets

docs: docs/build/index.html

pubdocs: docs
	hg -R ~/src/sjl.bitbucket.org pull -u
	rsync --delete -a ./docs/build/ ~/src/sjl.bitbucket.org/cl-netpbm
	hg -R ~/src/sjl.bitbucket.org commit -Am 'cl-netpbm: Update site.'
	hg -R ~/src/sjl.bitbucket.org push