62 lines
1.6 KiB
Makefile
62 lines
1.6 KiB
Makefile
.POSIX:
|
|
SCHEME=chibi
|
|
LIBRARY=tap
|
|
LIBRARY_FILE=retropikzel/${LIBRARY}.sld
|
|
MAINTAINER=Retropikzel
|
|
TESTFILE=retropikzel/${LIBRARY}/test.scm
|
|
DOCKER_TAG=latest
|
|
|
|
splitclean=awk -F ':' '{print($$2)}' | tr -d ' '
|
|
VERSION=$$(grep "VERSION:" ${LIBRARY_FILE} | ${splitclean})
|
|
LICENSE=$$(grep "SPDX-License-Identifier:" ${LIBRARY_FILE} | awk -F ":" "{print(\$$2)}" | tr -d ' ')
|
|
DESCRIPTION=$$(grep "DESCRIPTION:" ${LIBRARY_FILE} | awk -F ':' '{print($$2)}' | tr -d ' ')
|
|
ADDITIONAL_LIBRARIES=$$(grep "ADD_LIBRARIES:" ${LIBRARY_FILE} | awk -F ':' '{print($$2)}' | tr -d ' ' || echo "")
|
|
|
|
PKG=retropikzel-${LIBRARY}-${VERSION}.tgz
|
|
|
|
debug:
|
|
echo "${LICENSE}"
|
|
|
|
all: package
|
|
|
|
package:
|
|
snow-chibi package \
|
|
--always-yes \
|
|
--version="${VERSION}" \
|
|
--authors=Retropikzel \
|
|
--maintainers=Retropikzel \
|
|
--license="${LICENSE}" \
|
|
--doc-from-scribble=1 \
|
|
--test=${TESTFILE} \
|
|
--description="${DESCRIPTION}" \
|
|
${LIBRARY_FILE} ${ADDITIONAL_LIBRARIES}
|
|
|
|
git-index:
|
|
snow-chibi git-index ${PKG}
|
|
|
|
install:
|
|
snow-chibi install --impls=${SCHEME} --always-yes --verbose?=1 --skip-tests?=1 ${PKG}
|
|
|
|
test: package
|
|
snow-chibi --impls=${SCHEME} test-package ${PKG}
|
|
|
|
test-compile-r7rs:
|
|
COMPILE_R7RS=${SCHEME} compile-r7rs -o test-program ${TESTFILE}
|
|
./test-program
|
|
|
|
test-docker:
|
|
DOCKER_TAG=${DOCKER_TAG} \
|
|
SNOW_PACKAGES="retropikzel.tap ${PKG}" \
|
|
COMPILE_R7RS=${SCHEME} \
|
|
test-r7rs -o test-program ${TESTFILE}
|
|
|
|
retropikzel/wasm/plus.wat: retropikzel/wasm/plus.c
|
|
emcc -o retropikzel/wasm/plus.js retropikzel/wasm/plus.c
|
|
wasm-dis retropikzel/wasm/plus.wasm > retropikzel/wasm/plus.wat
|
|
|
|
jenkinsfile: makings.scm
|
|
makings --jenkinsfile > Jenkinsfile
|
|
|
|
clean:
|
|
git clean -X -f
|