77 lines
1.6 KiB
Makefile
77 lines
1.6 KiB
Makefile
|
|
||
|
# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
|
||
|
THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
||
|
THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
|
||
|
|
||
|
# BIN directory
|
||
|
BIN := $(THIS_DIR)/node_modules/.bin
|
||
|
|
||
|
# applications
|
||
|
NODE ?= node
|
||
|
NPM ?= $(NODE) $(shell which npm)
|
||
|
BROWSERIFY ?= $(NODE) $(BIN)/browserify
|
||
|
MOCHA ?= $(NODE) $(BIN)/mocha
|
||
|
ZUUL ?= $(NODE) $(BIN)/zuul
|
||
|
|
||
|
REPORTER ?= spec
|
||
|
|
||
|
all: dist/plist.js dist/plist-build.js dist/plist-parse.js
|
||
|
|
||
|
install: node_modules
|
||
|
|
||
|
clean:
|
||
|
@rm -rf node_modules dist
|
||
|
|
||
|
dist:
|
||
|
@mkdir -p $@
|
||
|
|
||
|
dist/plist-build.js: node_modules lib/build.js dist
|
||
|
@$(BROWSERIFY) \
|
||
|
--standalone plist \
|
||
|
lib/build.js > $@
|
||
|
|
||
|
dist/plist-parse.js: node_modules lib/parse.js dist
|
||
|
@$(BROWSERIFY) \
|
||
|
--standalone plist \
|
||
|
lib/parse.js > $@
|
||
|
|
||
|
dist/plist.js: node_modules lib/*.js dist
|
||
|
@$(BROWSERIFY) \
|
||
|
--standalone plist \
|
||
|
--ignore lib/node.js \
|
||
|
lib/plist.js > $@
|
||
|
|
||
|
node_modules: package.json
|
||
|
@NODE_ENV= $(NPM) install
|
||
|
@touch node_modules
|
||
|
|
||
|
test:
|
||
|
@if [ "x$(BROWSER_NAME)" = "x" ]; then \
|
||
|
$(MAKE) test-node; \
|
||
|
else \
|
||
|
$(MAKE) test-zuul; \
|
||
|
fi
|
||
|
|
||
|
test-node:
|
||
|
@$(MOCHA) \
|
||
|
--reporter $(REPORTER) \
|
||
|
test/*.js
|
||
|
|
||
|
test-zuul:
|
||
|
@if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \
|
||
|
$(ZUUL) \
|
||
|
--ui mocha-bdd \
|
||
|
--browser-name $(BROWSER_NAME) \
|
||
|
--browser-version $(BROWSER_VERSION) \
|
||
|
test/*.js; \
|
||
|
else \
|
||
|
$(ZUUL) \
|
||
|
--ui mocha-bdd \
|
||
|
--browser-name $(BROWSER_NAME) \
|
||
|
--browser-version $(BROWSER_VERSION) \
|
||
|
--browser-platform "$(BROWSER_PLATFORM)" \
|
||
|
test/*.js; \
|
||
|
fi
|
||
|
|
||
|
.PHONY: all install clean test test-node test-zuul
|