REPO = git@github.com:twitter/hogan.js.git BUILD := build VERSION = ${shell node -e 'var s = JSON.parse(require("fs").readFileSync("package.json").toString()).version; console.log(s.substring(0, s.indexOf("-")));'} # # Run command line tests # test: @ node test/index.js # # Run Mustache spec tests # spec: @ node test/spec.js # # Run benchmark # benchmark: @ node benchmark/console/index.js clean: @ rm -rf dist/* # # Make a new version of Hogan from the current dev version. # release: clean @ echo "Creating a new version of Hogan." @ mkdir -p dist/nodejs @ cp -R lib dist/nodejs/lib @ node tools/release.js @ mkdir -p web/builds/$(VERSION) @ cp dist/*.* web/builds/$(VERSION)/. # # Make the gh-pages website # # This target builds the hogan.js github website using hogan.js. # # cd into build/gh-pages to check in the new site. # GH_PAGES = $(BUILD)/gh-pages web: | pages @cp -R web/* $(GH_PAGES) @@ node tools/web_templates.js @echo @echo "Website built in $(GH_PAGES)." # # Checkout the gh-pages branch. # pages: | $(BUILD) @if [ ! -d "$(GH_PAGES)" ]; then \ git clone -b gh-pages $(REPO) $(GH_PAGES); \ rm -rf $(GH_PAGES)/*; \ fi; @mkdir -p $(GH_PAGES)/images $(BUILD): mkdir -p $(BUILD) .PHONY: test spec benchmark web release