+.PHONY: all check lint test ugly dist clean distclean install
+
+all:
+ @echo "Interesting targets:"
+ @echo " lint - validate source (with jshint)"
+ @echo " test - run tests (with jstest)"
+ @echo " ugly - generate minified/mangled source files"
+ @echo " dist - generate redistributables (if git tagged)"
+ @echo
+ @echo "(Running these may download packages from npm.)"
+ @echo
+
+%.min.js: %.js | $(UGLIFY)
+ $(UGLIFY) --comments -m < $< > $@
+
+build/stamp/%.lint: %.js | $(JSHINT)
+ @mkdir -p $(@D)
+ $(JSHINT) $(JSHINTFLAGS) $<
+ @touch $@
+
+build/stamp/%.test: tests/%.js %.js | $(JSTEST)