NAME=ldapjs ifeq ($(VERSION), "") @echo "Use gmake" endif SRC := $(shell pwd) TAR = tar UNAME := $(shell uname) ifeq ($(UNAME), SunOS) TAR = gtar endif HAVE_GJSLINT := $(shell which gjslint >/dev/null && echo yes || echo no) NPM := npm_config_tar=$(TAR) npm RESTDOWN_VERSION=1.2.13 DOCPKGDIR = ./docs/pkg RESTDOWN = ./node_modules/.restdown/bin/restdown \ -b ./docs/branding \ -m ${DOCPKGDIR} \ -D mediaroot=media .PHONY: dep lint test doc clean all all:: test doc node_modules/.ldapjs.npm.installed: $(NPM) install --dev if [[ ! -d node_modules/.restdown ]]; then \ git clone git://github.com/trentm/restdown.git node_modules/.restdown; \ else \ (cd node_modules/.restdown && git fetch origin); \ fi @(cd ./node_modules/.restdown && git checkout $(RESTDOWN_VERSION)) @touch ./node_modules/.ldapjs.npm.installed dep: ./node_modules/.ldapjs.npm.installed gjslint: gjslint --nojsdoc -r lib -r tst ifeq ($(HAVE_GJSLINT), yes) lint: gjslint else lint: @echo "* * *" @echo "* Warning: Cannot lint with gjslint. Install it from:" @echo "* http://code.google.com/closure/utilities/docs/linter_howto.html" @echo "* * *" endif doc: dep @rm -rf ${DOCPKGDIR} @mkdir -p ${DOCPKGDIR} ${RESTDOWN} ./docs/client.md ${RESTDOWN} ./docs/dn.md ${RESTDOWN} ./docs/errors.md ${RESTDOWN} ./docs/examples.md ${RESTDOWN} ./docs/filters.md ${RESTDOWN} ./docs/guide.md ${RESTDOWN} ./docs/index.md ${RESTDOWN} ./docs/server.md rm docs/*.json mv docs/*.html ${DOCPKGDIR} (cd ${DOCPKGDIR} && $(TAR) -czf ${SRC}/${NAME}-docs-`git log -1 --pretty='format:%h'`.tar.gz *) test: dep lint $(NPM) test clean: @rm -fr ${DOCPKGDIR} node_modules *.log *.tar.gz