| BUILD_DIR = build |
| |
| PREFIX = . |
| SRC_DIR = ${PREFIX} |
| DIST_DIR = ${PREFIX}/dist |
| |
| |
| JS_ENGINE ?= `which node nodejs 2> /dev/null` |
| COMPILER = ${JS_ENGINE} ${BUILD_DIR}/uglify.js --unsafe |
| POST_COMPILER = ${JS_ENGINE} ${BUILD_DIR}/post-compile.js |
| |
| SRC = ${SRC_DIR}/jsonselect.js |
| DIST = ${DIST_DIR}/jsonselect.js |
| DIST_MIN = ${DIST_DIR}/jsonselect.min.js |
| |
| all: hint project min tests |
| @@echo "Project build complete." |
| |
| ${DIST_DIR}: |
| @@mkdir -p ${DIST_DIR} |
| |
| project: ${DIST} |
| |
| ${DIST}: ${SRC} | ${DIST_DIR} |
| @@echo "Building" ${DIST} |
| @@echo ${SRC} |
| @@cat ${SRC} > ${DIST}; |
| |
| |
| min: project ${DIST_MIN} |
| |
| ${DIST_MIN}: ${DIST} |
| @@if test ! -z ${JS_ENGINE}; then \ |
| echo "Minifying Project" ${DIST_MIN}; \ |
| ${COMPILER} ${DIST} > ${DIST_MIN}.tmp; \ |
| ${POST_COMPILER} ${DIST_MIN}.tmp > ${DIST_MIN}; \ |
| rm -f ${DIST_MIN}.tmp; \ |
| else \ |
| echo "You must have NodeJS installed in order to minify Project."; \ |
| fi |
| |
| |
| hint: |
| @@if test ! -z ${JS_ENGINE}; then \ |
| echo "Hinting Project"; \ |
| ${JS_ENGINE} build/jshint-check.js; \ |
| else \ |
| echo "Nodejs is missing"; \ |
| fi |
| |
| |
| test/tests/README.md: |
| @@cd .. && git submodule init |
| @@cd .. && git submodule update |
| |
| |
| tests: test/tests/README.md |
| @@if test ! -z ${JS_ENGINE}; then \ |
| echo "Testing Project"; \ |
| ${JS_ENGINE} test/run.js; \ |
| else \ |
| echo "nodejs is missing"; \ |
| fi |
| |
| |
| clean: |
| @@echo "Removing Distribution directory:" ${DIST_DIR} |
| @@rm -rf ${DIST_DIR} |
| |
| |
| |
| |
| .PHONY: all project hint min tests |