mirror of
https://github.com/kanaka/mal.git
synced 2024-09-11 21:57:38 +03:00
- Reorder README to have implementation list after "learning tool" bullet. - This also moves tests/ and libs/ into impls. It would be preferrable to have these directories at the top level. However, this causes difficulties with the wasm implementations which need pre-open directories and have trouble with paths starting with "../../". So in lieu of that, symlink those directories to the top-level. - Move the run_argv_test.sh script into the tests directory for general hygiene.
39 lines
948 B
Makefile
39 lines
948 B
Makefile
CLASSES = types.class reader.class printer.class env.class core.class
|
|
|
|
all: ${CLASSES}
|
|
|
|
dist: mal.jar
|
|
|
|
step1_read_print.groovy: types.class reader.class printer.class
|
|
step2_eval.groovy: types.class reader.class printer.class
|
|
step3_env.groovy: types.class reader.class printer.class env.class
|
|
step4_if_fn_do.groovy step6_file.groovy step7_quote.groovy step8_macros.groovy step9_try.groovy stepA_mal.groovy: ${CLASSES}
|
|
|
|
types.class: types.groovy
|
|
groovyc $<
|
|
|
|
env.class: env.groovy
|
|
groovyc $<
|
|
|
|
reader.class: reader.groovy
|
|
groovyc $<
|
|
|
|
printer.class: printer.groovy
|
|
groovyc $<
|
|
|
|
core.class: core.groovy types.class reader.class printer.class
|
|
groovyc $<
|
|
|
|
mal.jar: ${CLASSES}
|
|
groovyc stepA_mal.groovy
|
|
GROOVY_HOME=/usr/share/groovy groovy GroovyWrapper -d $@ -m stepA_mal
|
|
|
|
SHELL := bash
|
|
mal: mal.jar
|
|
cat <(echo -e '#!/bin/sh\nexec java -jar "$$0" "$$@"') mal.jar > $@
|
|
chmod +x mal
|
|
|
|
clean:
|
|
rm -f *.class classes/* mal.jar mal
|
|
rmdir classes || true
|