python_MODE = python
# scheme (chibi, kawa, gauche, chicken, sagittarius, cyclone, foment)
scheme_MODE = chibi
-# wasmtime js node wace_libc wace_fooboot
+# wasmtime wasmer lucet wax node warpy wace_libc
wasm_MODE = wasmtime
# Path to loccount for counting LOC stats
IMPLS = ada ada.2 awk bash basic bbc-basic c chuck clojure coffee common-lisp cpp crystal cs d dart \
elisp elixir elm erlang es6 factor fantom forth fsharp go groovy gnu-smalltalk \
guile haskell haxe hy io java js julia kotlin livescript logo lua make mal \
- matlab miniMAL nasm nim objc objpascal ocaml perl perl6 php picolisp plpgsql \
- plsql powershell ps python r racket rexx rpython ruby rust scala scheme skew \
- swift swift3 swift4 tcl ts vala vb vhdl vimscript wasm yorick
+ matlab miniMAL nasm nim objc objpascal ocaml perl perl6 php picolisp pike plpgsql \
+ plsql powershell ps python python.2 r racket rexx rpython ruby rust scala scheme skew \
+ swift swift3 swift4 swift5 tcl ts vala vb vhdl vimscript wasm wren yorick zig jq
EXTENSION = .mal
awk_STEP_TO_PROG = awk/$($(1)).awk
bash_STEP_TO_PROG = bash/$($(1)).sh
basic_STEP_TO_PROG = $(basic_STEP_TO_PROG_$(basic_MODE))
-bbc-basic_STEP_TO_PROG = bbc-basic/$($(1)).bbc
+bbc-basic_STEP_TO_PROG = bbc-basic/$($(1)).bas
c_STEP_TO_PROG = c/$($(1))
chuck_STEP_TO_PROG = chuck/$($(1)).ck
clojure_STEP_TO_PROG = $(clojure_STEP_TO_PROG_$(clojure_MODE))
io_STEP_TO_PROG = io/$($(1)).io
java_STEP_TO_PROG = java/target/classes/mal/$($(1)).class
js_STEP_TO_PROG = js/$($(1)).js
+jq_STEP_PROG = jq/$($(1)).jq
julia_STEP_TO_PROG = julia/$($(1)).jl
kotlin_STEP_TO_PROG = kotlin/$($(1)).jar
livescript_STEP_TO_PROG = livescript/$($(1)).js
perl6_STEP_TO_PROG = perl6/$($(1)).pl
php_STEP_TO_PROG = php/$($(1)).php
picolisp_STEP_TO_PROG = picolisp/$($(1)).l
+pike_STEP_TO_PROG = pike/$($(1)).pike
plpgsql_STEP_TO_PROG = plpgsql/$($(1)).sql
plsql_STEP_TO_PROG = plsql/$($(1)).sql
powershell_STEP_TO_PROG = powershell/$($(1)).ps1
ps_STEP_TO_PROG = ps/$($(1)).ps
python_STEP_TO_PROG = python/$($(1)).py
+python.2_STEP_TO_PROG = python.2/$($(1)).py
r_STEP_TO_PROG = r/$($(1)).r
racket_STEP_TO_PROG = racket/$($(1)).rkt
rexx_STEP_TO_PROG = rexx/$($(1)).rexxpp
swift_STEP_TO_PROG = swift/$($(1))
swift3_STEP_TO_PROG = swift3/$($(1))
swift4_STEP_TO_PROG = swift4/$($(1))
+swift5_STEP_TO_PROG = swift5/$($(1))
tcl_STEP_TO_PROG = tcl/$($(1)).tcl
ts_STEP_TO_PROG = ts/$($(1)).js
vala_STEP_TO_PROG = vala/$($(1))
vb_STEP_TO_PROG = vb/$($(1)).exe
vhdl_STEP_TO_PROG = vhdl/$($(1))
vimscript_STEP_TO_PROG = vimscript/$($(1)).vim
-wasm_STEP_TO_PROG = wasm/$($(1)).wasm
+wasm_STEP_TO_PROG = wasm/$($(1)).$(if $(filter lucet,$(wasm_MODE)),so,wasm)
+wren_STEP_TO_PROG = wren/$($(1)).wren
yorick_STEP_TO_PROG = yorick/$($(1)).i
-
+zig_STEP_TO_PROG = zig/$($(1))
#
# General settings and utility functions
$(IMPL_STATS):
@$(foreach impl,$(word 2,$(subst ^, ,$(@))),\
echo "Stats for $(impl):"; \
- $(LOCCOUNT) -x "Makefile|node_modules" $(impl))
+ $(LOCCOUNT) -x "[sS]tep[0-9]_.*|[.]md$$|tests|examples|Makefile|package.json|tsconfig.json|Cargo.toml|project.clj|node_modules|getline.cs|terminal.cs|elm-stuff|objpascal/regexpr|rdyncall|swift/templates" $(impl))
#
# Utility functions