| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 |
| 2 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) |
| 3 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) |
| 4 | |
| 5 | # BIN directory |
| 6 | BIN := $(THIS_DIR)/node_modules/.bin |
| 7 | |
| 8 | # Path |
| 9 | PATH := node_modules/.bin:$(PATH) |
| 10 | SHELL := /bin/bash |
| 11 | |
| 12 | # applications |
| 13 | NODE ?= $(shell which node) |
| 14 | YARN ?= $(shell which yarn) |
| 15 | PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) |
| 16 | BROWSERIFY ?= $(NODE) $(BIN)/browserify |
| 17 | |
| 18 | .FORCE: |
| 19 | |
| 20 | install: node_modules |
| 21 | |
| 22 | node_modules: package.json |
| 23 | @NODE_ENV= $(PKG) install |
| 24 | @touch node_modules |
| 25 | |
| 26 | lint: .FORCE |
| 27 | eslint browser.js debug.js index.js node.js |
| 28 | |
| 29 | test-node: .FORCE |
| 30 | istanbul cover node_modules/mocha/bin/_mocha -- test/**.js |
| 31 | |
| 32 | test-browser: .FORCE |
| 33 | mkdir -p dist |
| 34 | |
| 35 | @$(BROWSERIFY) \ |
| 36 | --standalone debug \ |
| 37 | . > dist/debug.js |
| 38 | |
| 39 | karma start --single-run |
| 40 | rimraf dist |
| 41 | |
| 42 | test: .FORCE |
| 43 | concurrently \ |
| 44 | "make test-node" \ |
| 45 | "make test-browser" |
| 46 | |
| 47 | coveralls: |
| 48 | cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js |
| 49 | |
| 50 | .PHONY: all install clean distclean |