sbcl stuff

This commit is contained in:
Ian Keane 2020-01-20 14:13:08 -05:00
parent 1d1dbc34df
commit 5d91dbb667
335 changed files with 119806 additions and 1 deletions

View file

@ -0,0 +1,113 @@
### Makefile for SLIME
#
# This file is in the public domain.
# Variables
#
EMACS=emacs
LISP=sbcl
LOAD_PATH=-L .
ELFILES := slime.el slime-autoloads.el slime-tests.el $(wildcard lib/*.el)
ELCFILES := $(ELFILES:.el=.elc)
default: compile contrib-compile
all: compile
help:
@printf "\
Main targets\n\
all -- see compile\n\
compile -- compile .el files\n\
check -- run tests in batch mode\n\
clean -- delete generated files\n\
doc-help -- print help about doc targets\n\
help-vars -- print info about variables\n\
help -- print this message\n"
help-vars:
@printf "\
Main make variables:\n\
EMACS -- program to start Emacs ($(EMACS))\n\
LISP -- program to start Lisp ($(LISP))\n\
SELECTOR -- selector for ERT tests ($(SELECTOR))\n"
# Compilation
#
slime.elc: slime.el lib/hyperspec.elc
%.elc: %.el
$(EMACS) -Q $(LOAD_PATH) --batch -f batch-byte-compile $<
compile: $(ELCFILES)
# Automated tests
#
SELECTOR=t
check: compile
$(EMACS) -Q --batch $(LOAD_PATH) \
--eval "(require 'slime-tests)" \
--eval "(slime-setup)" \
--eval "(setq inferior-lisp-program \"$(LISP)\")" \
--eval '(slime-batch-test (quote $(SELECTOR)))'
# run tests interactively
#
# FIXME: Not terribly useful until bugs in ert-run-tests-interactively
# are fixed.
test: compile
$(EMACS) -Q -nw $(LOAD_PATH) \
--eval "(require 'slime-tests)" \
--eval "(slime-setup)" \
--eval "(setq inferior-lisp-program \"$(LISP)\")" \
--eval '(slime-batch-test (quote $(SELECTOR)))'
compile-swank:
echo '(load "swank-loader.lisp")' '(swank-loader:init :setup nil)' \
| $(LISP)
run-swank:
{ echo \
'(load "swank-loader.lisp")' \
'(swank-loader:init)' \
'(swank:create-server)' \
&& cat; } \
| $(LISP)
elpa-slime:
echo "Not implemented yet: elpa-slime target" && exit 255
elpa: elpa-slime contrib-elpa
# Cleanup
#
FASLREGEX = .*\.\(fasl\|ufasl\|sse2f\|lx32fsl\|abcl\|fas\|lib\|trace\)$$
clean-fasls:
find . -regex '$(FASLREGEX)' -exec rm -v {} \;
[ ! -d ~/.slime/fasl ] || rm -rf ~/.slime/fasl
clean: clean-fasls
find . -iname '*.elc' -exec rm {} \;
# Contrib stuff. Should probably also go to contrib/
#
MAKECONTRIB=$(MAKE) -C contrib EMACS="$(EMACS)" LISP="$(LISP)"
contrib-check-% check-%:
$(MAKECONTRIB) $(@:contrib-%=%)
contrib-elpa:
$(MAKECONTRIB) elpa-all
contrib-compile:
$(MAKECONTRIB) compile
# Doc
#
doc-%:
$(MAKE) -C doc $(@:doc-%=%)
doc: doc-help
.PHONY: clean elpa compile check doc dist