X-Git-Url: https://git.yukkurigames.com/?p=string-lerp.git;a=blobdiff_plain;f=Makefile;fp=Makefile;h=5dfff0271ddbc49b61fe842ff057bd49c43ddb48;hp=0000000000000000000000000000000000000000;hb=a2ba0c21bc1e59f8269051458266896cb928f905;hpb=27efc68c521bfd7d29467c9e528001aa5992d6d2 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5dfff02 --- /dev/null +++ b/Makefile @@ -0,0 +1,54 @@ +#!/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