File: Makefile

package info (click to toggle)
cl-iterate 20210519.gitb0f9a9c-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 980 kB
  • sloc: lisp: 4,050; sh: 238; makefile: 60
file content (71 lines) | stat: -rw-r--r-- 1,911 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
FILES = package.lisp iterate.lisp iterate-test.lisp iterate-pg.lisp iterate.asd
TEXFILES = doc/iter-man.tex doc/iter-bare.tex doc/aimemo.sty doc/GNUmakefile
RCSFILES = package.lisp,v iterate.lisp,v iterate-test.lisp,v iterate-pg.lisp,v doc/iter-man.tex,v
PDFFILES = doc/iter-man.pdf doc/iter-bare.pdf


# If you need to sudo in order to use docker, modify this.
DOCKER ?= docker

sourceDirectory := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))


l ?= sbcl

ifeq ($(l), abcl)
	command ?= abcl
	loadfile = --noinit --nosystem --noinform --load

else ifeq ($(l), allegro)
	command ?= alisp
	loadfile = -q -L

else ifeq ($(l), ccl)
	loadfile = --no-init --quiet --load
        command ?= ccl

else ifeq ($(l), clasp)
	command ?= 
	loadfile = --norc --noinit --load

else ifeq ($(l), clisp)
	command ?= clisp
	loadfile = -norc --silent -ansi -I -c -l

else ifeq ($(l), cmucl)
	command ?= cmucl
	loadfile = -noinit -batch --load

else ifeq ($(l), ecl)
	command ?= ecl
	loadfile = --norc --load

else ifeq ($(l), lispworks)
	command ?= lispworks # this is just a convention...
	loadfile = -siteinit = -init -

else ifeq ($(l), sbcl)
	command ?= sbcl
	loadfile = --no-userinit --no-sysinit --load
else
	$(error Don\'t know how to operate on implementation $(l))
endif

.PHONY: test

distrib:
	tar czf iterate.tgz $(FILES) $(TEXFILES) $(PDFFILES)

devel:
	tar czf iterate-rcs.tgz $(FILES) $(RCSFILES) $(TEXFILES) Makefile

test:
	$(command) $(loadfile) test.lisp


# Useful for reproducing test failures with Docker.
test-docker-repl:
	@${DOCKER} run --rm -i -t --pull always -u $(shell id -u):$(shell id -g) -v $(sourceDirectory):$(sourceDirectory) -w $(sourceDirectory)/test clfoundation/${l}:latest

test-docker-lisp:
	@${DOCKER} run --rm -i -t --pull always -u $(shell id -u):$(shell id -g) -v $(sourceDirectory):$(sourceDirectory) -w $(sourceDirectory) clfoundation/${l}:latest make test l=${l} t=${t}