1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 02:27:10 +03:00
mal/livescript/Makefile

41 lines
1.3 KiB
Makefile

SOURCES_BASE = reader.ls printer.ls env.ls core.ls utils.ls
SOURCES_STEPS = step0_repl.ls step1_read_print.ls step2_eval.ls \
step4_if_fn_do.ls step5_tco.ls step6_file.ls step7_quote.ls \
step8_macros.ls step9_try.ls stepA_mal.ls
SOURCES_LISP = env.ls core.ls stepA_mal.ls
SOURCES = $(SOURCES_BASE) $(SOURCES_STEPS)
BINS = $(SOURCES:%.ls=%.js)
LSC = node_modules/.bin/lsc
all: node_modules $(BINS)
node_modules:
npm install
%.js: %.ls node_modules
$(LSC) -d -c $(@:%.js=%.ls)
step1_read_print.js: utils.js reader.js printer.js
step2_eval.js: utils.js reader.js printer.js
step3_env.js: utils.js reader.js printer.js env.js
step4_if_fn_do.js: utils.js reader.js printer.js env.js core.js
step5_tco.js: utils.js reader.js printer.js env.js core.js
step6_file.js: utils.js reader.js printer.js env.js core.js
step7_quote.js: utils.js reader.js printer.js env.js core.js
step8_macros.js: utils.js reader.js printer.js env.js core.js
step9_try.js: utils.js reader.js printer.js env.js core.js
stepA_mal.js: utils.js reader.js printer.js env.js core.js
clean:
rm -f $(BINS)
stats: $(SOURCES)
@wc $^
@printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"
stats-lisp: $(SOURCES_LISP)
@wc $^
@printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"