-all: clean install compile test
+CASK = cask
+EMACS = emacs
+DEPENDENCIES = .cask/
+SCOPIFIER_PORT = $$(lsof -t -i:6969)
+KILL_SCOPIFIER = if [ -n "${SCOPIFIER_PORT}" ]; then kill ${SCOPIFIER_PORT}; fi
-bench: benchel benchjs
+all: uncompile compile test
-benchel:
- emacs -Q -L . \
+bench: ${DEPENDENCIES}
+ ${CASK} exec ${EMACS} -Q \
+ -L . \
-l context-coloring \
- -l benchmark/context-coloring-benchmark \
+ -l benchmark/context-coloring-benchmark.el \
-f context-coloring-benchmark-run
-benchjs:
- node_modules/.bin/matcha
+compile: ${DEPENDENCIES}
+ ${CASK} exec ${EMACS} -Q -batch \
+ -L . \
+ -f batch-byte-compile *.el
-compile:
- emacs -Q \
- -L lib/js2-mode \
- -batch -f batch-byte-compile *.el
+uncompile:
+ rm -f *.elc
-clean:
- rm -f *.log benchmark/*.log *.elc
+clean: uncompile
+ rm -rf ${DEPENDENCIES}
-install:
- npm install
+${DEPENDENCIES}:
+ ${CASK}
-test: testel testjs
-
-testel:
- emacs -Q -batch -L . \
+test: ${DEPENDENCIES}
+ ${KILL_SCOPIFIER}
+ ${CASK} exec ${EMACS} -Q -batch \
+ -L . \
-l ert \
- -l context-coloring \
+ -l ert-async \
+ -l test/context-coloring-coverage.el \
+ -f context-coloring-coverage-ci-init \
-l test/context-coloring-test.el \
-f ert-run-tests-batch-and-exit
-testjs:
- node_modules/.bin/mocha
+cover: ${DEPENDENCIES}
+ ${KILL_SCOPIFIER}
+ ${CASK} exec ${EMACS} -Q -batch \
+ -L . \
+ -l ert \
+ -l ert-async \
+ -l test/context-coloring-coverage.el \
+ -f context-coloring-coverage-local-init \
+ -l test/context-coloring-test.el \
+ -f ert-run-tests-batch-and-exit
-.PHONY: all bench benchel benchjs compile clean install test testel testjs
+.PHONY: all bench compile uncompile clean test cover