101 lines
4.1 KiB
Makefile
101 lines
4.1 KiB
Makefile
TEST_PACKAGES_APT="libcurl4-openssl-dev libuv1"
|
|
DOCKER_INIT=apt update && apt install libcurl4-openssl-dev libuv1 && cd /workdir
|
|
SCHEME_RUNNER=PACKAGES=${TEST_PACKAGES_APT} ./scheme_runner
|
|
TESTFILES=$(shell ls tests/*.scm)
|
|
|
|
test-tier1: \
|
|
test-chicken\
|
|
test-guile \
|
|
test-kawa \
|
|
test-sagittarius \
|
|
test-racket
|
|
|
|
test-tier2: \
|
|
test-cyclone \
|
|
test-gambit \
|
|
test-stklos
|
|
|
|
CHICKEN=csc -X r7rs -R r7rs
|
|
CHICKEN_LIB=csc -X r7rs -R r7rs -include-path ./retropikzel -s -J
|
|
test-chicken: clean
|
|
docker build . --build-arg IMPLEMENTATION=chicken -f Dockerfile --tag=r7rs-pffi-chicken
|
|
cp retropikzel/r7rs-pffi.sld retropikzel.r7rs-pffi.sld
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-chicken bash -c "cd /workdir && ${CHICKEN_LIB} retropikzel.r7rs-pffi.sld"
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-chicken bash -c "cd /workdir && ${CHICKEN} test.scm && ./test"
|
|
|
|
CYCLONE=cyclone -A .
|
|
test-cyclone: clean
|
|
docker build . --build-arg IMPLEMENTATION=cyclone -f Dockerfile --tag=r7rs-pffi-cyclone
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-cyclone bash -c "cd /workdir && ${CYCLONE} retropikzel/r7rs-pffi.sld"
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-cyclone bash -c "cd /workdir && ${CYCLONE} test.scm && ./test"
|
|
|
|
GAMBIT_LIB=gsc . retropikzel/r7rs-pffi
|
|
GAMBIT_CC=gsc -exe . -nopreload
|
|
test-gambit: clean
|
|
docker build . --build-arg IMPLEMENTATION=gambit -f Dockerfile --tag=r7rs-pffi-gambit
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-gambit bash -c "cd /workdir && ${GAMBIT_LIB} retropikzel/r7rs-pffi.sld; echo $$?"
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-gambit bash -c "cd /workdir && ${GAMBIT_CC} test.scm; echo $$?"
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-gambit bash -c "cd /workdir && ./test -:search=.; echo $$?"
|
|
|
|
GUILE=guile --r7rs --fresh-auto-compile -L .
|
|
test-guile:
|
|
docker build . --build-arg IMPLEMENTATION=guile -f Dockerfile --tag=r7rs-pffi-guile
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-guile bash -c "cd /workdir && ${GUILE} test.scm"
|
|
|
|
KAWA=java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=.:*.sld
|
|
test-kawa:
|
|
docker build . --build-arg IMPLEMENTATION=kawa -f Dockerfile --tag=r7rs-pffi-kawa
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-kawa bash -c "cd /workdir && ${KAWA} test.scm"
|
|
|
|
SASH=sash -r7 -L . -L ./schubert
|
|
test-sagittarius:
|
|
docker build . --build-arg IMPLEMENTATION=sagittarius -f Dockerfile --tag=r7rs-pffi-sagittarius
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-sagittarius bash -c "cd /workdir && ${SASH} test.scm"
|
|
|
|
RACKET=racket -I r7rs -S . -S ./schubert --script
|
|
test-racket:
|
|
docker build . --build-arg IMPLEMENTATION=racket -f Dockerfile --tag=r7rs-pffi-racket
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-racket bash -c "cd /workdir && ${RACKET} test.scm"
|
|
|
|
STKLOS=stklos -A . -f
|
|
test-stklos:
|
|
docker build . --build-arg IMPLEMENTATION=stklos -f Dockerfile --tag=r7rs-pffi-stklos
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-stklos bash -c "cd /workdir && ${STKLOS} test.scm"
|
|
|
|
CHIBI=chibi-scheme
|
|
CHIBI_STUB=chibi-ffi
|
|
test-chibi:
|
|
docker build . --build-arg IMPLEMENTATION=chibi -f Dockerfile --tag=r7rs-pffi-chibi
|
|
docker run -it -v ${PWD}:/workdir r7rs-pffi-chibi bash -c "cd /workdir && ${CHIBI_STUB} retropikzel/r7rs-pffi/chibi.stub"
|
|
|
|
documentation:
|
|
cat README.md > docs/index.md
|
|
mkdocs build
|
|
|
|
|
|
tmp:
|
|
mkdir -p tmp
|
|
|
|
clean:
|
|
@rm -rf docutmp
|
|
@rm -rf retropikzel/r7rs-pffi/*.c
|
|
@rm -rf retropikzel/r7rs-pffi/*.o*
|
|
@rm -rf retropikzel/r7rs-pffi/*.so
|
|
@rm -rf retropikzel/r7rs-pffi/*.meta
|
|
@rm -rf retropikzel/r7rs-pffi/retropikzel.*
|
|
@rm -rf retropikzel/r7rs-pffi/compiled
|
|
@rm -rf retropikzel.*
|
|
find . -name "*.meta" -delete
|
|
@rm -rf test/pffi-define
|
|
@rm -rf test/*gambit*
|
|
find . -name "*.link" -delete
|
|
find . -name "*.c" -delete
|
|
find . -name "*.o" -delete
|
|
find . -name "*.o[1-9]" -delete
|
|
find . -name "*.so" -delete
|
|
find . -name "*.a" -delete
|
|
@rm -rf test
|
|
@rm -rf tmp
|
|
find . -name "core.1" -delete
|
|
find . -name "test@gambit*" -delete
|