.PHONY: lib test

lib_sources:= $(wildcard src/*.coffee)
lib_objects:= $(subst src/, lib/, $(lib_sources:%.coffee=%.js))

default: build

build: $(lib_objects) lib/tokenizer.js

lib:
	mkdir -p lib

lib/tumble.js: lib src/tumble.peg
	./node_modules/.bin/pegjs src/tumble.peg lib/tumble.js

$(lib_objects): lib lib/%.js: src/%.coffee
	@mkdir -p $(@D)
	coffee -o $(@D) -c $<

test: test/[0-9]*_mocha.coffee lib/tumble.js
	./node_modules/.bin/mocha -R tap -C --compilers coffee:coffee-script -u tdd $<


clean:
	rm -fr lib