# 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