blob: 62695e006d78a6272192e94b5100bda93338abc1 [file] [log] [blame]
# 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