--- /dev/null
+#!/usr/bin/make -f
+
+JSTEST ?= node_modules/.bin/jstest
+JSHINT ?= node_modules/.bin/jshint
+UGLIFY ?= node_modules/.bin/uglifyjs
+SOURCES = string-lerp.js
+MINIFIED = $(SOURCES:.js=.min.js)
+
+TESTS = $(wildcard tests/*.js);
+LINT_TARGETS = $(addprefix build/stamp/,$(addsuffix .lint,$(SOURCES)))
+TEST_TARGETS = $(addprefix build/stamp/,$(addsuffix .test,$(SOURCES)))
+
+.PHONY: all check lint test
+
+all: $(MINIFIED)
+
+%.min.js: %.js $(UGLIFY)
+ $(UGLIFY) -m < $< > $@
+
+build:
+ mkdir -p build/stamp build/dist
+
+build/stamp/%.lint: % build
+ @mkdir -p $(@D)
+ $(JSHINT) $<
+ @touch $@
+
+build/stamp/%.test: tests/% % build
+ @mkdir -p $(@D)
+ @echo $(JSTEST) $<
+ @$(JSTEST) $< > $@ || (cat $@ && rm -f $@ && exit 1)
+ @touch $@
+
+check: lint test
+
+lint: $(JSHINT) $(LINT_TARGETS)
+
+test: $(JSTEST) $(TEST_TARGETS)
+
+clean:
+ rm -rf build
+ rm -f $(MINIFIED)
+
+distclean: clean
+ rm -rf node_modules
+
+$(JSTEST):
+ npm install jstest
+
+$(JSHINT):
+ npm install jshint
+
+$(UGLIFY):
+ npm install uglify-js