.PHONY: setup store serve NOTANGLE= notangle NOWEAVE= noweave ECHO= echo STYLUS= ./node_modules/stylus/bin/stylus HAML= haml COFFEE= ./node_modules/coffee-script/bin/coffee LIBS:= htdocs/lib/underscore.js htdocs/lib/jquery.js htdocs/lib/backbone.js all: htdocs/index.html htdocs/store.js htdocs/jsonstore.css htdocs/data/items.json @if [ ! -e "./htdocs/lib" ]; then \ echo "Please do 'make setup' before continuing"; \ exit 1; \ fi serve: all $(COFFEE) ./bin/autoreload store: all htdocs/lib: mkdir -p htdocs/lib htdocs/lib/underscore.js: htdocs/lib cp bower_components/underscore/underscore.js htdocs/lib htdocs/lib/jquery.js: htdocs/lib cp bower_components/jquery/dist/jquery.js htdocs/lib htdocs/lib/backbone.js: cp bower_components/backbone/backbone.js htdocs/lib install: npm install ./node_modules/bower/bin/bower install jquery underscore backbone setup: install $(LIBS) work: mkdir -p work docs: mkdir -p docs work/index.haml: work src/backbonestore.nw $(NOTANGLE) -c -Rindex.haml src/backbonestore.nw > work/index.haml htdocs/index.html: htdocs work/index.haml $(HAML) --unix-newlines --no-escape-attrs --double-quote-attribute work/index.haml > htdocs/index.html htdocs/jsonstore.css: htdocs work/jsonstore.styl $(STYLUS) -o htdocs work/jsonstore.styl work/jsonstore.styl: work src/backbonestore.nw $(NOTANGLE) -c -Rjsonstore.styl src/backbonestore.nw > work/jsonstore.styl htdocs/store.js: htdocs work/store.coffee $(COFFEE) -o htdocs --compile work/store.coffee work/store.coffee: work src/backbonestore.nw $(NOTANGLE) -c -Rstore.coffee src/backbonestore.nw > work/store.coffee docs/backbonestore.tex: docs src/backbonestore.nw ${NOWEAVE} -x -delay src/backbonestore.nw > docs/backbonestore.tex docs/backbonestore.pdf: docs/backbonestore.tex xelatex docs/backbonestore.tex; \ while grep -s 'Rerun to get cross-references right' ./backbonestore.log; \ do \ xelatex docs/backbonestore.tex; \ done mv backbonestore.pdf docs rm -f ./backbonestore.log ./backbonestore.aux ./backbonestore.out pdf: docs/backbonestore.pdf docs/backbonestore.html: docs src/backbonestore.nw $(NOWEAVE) -filter l2h -delay -x -autodefs c -html src/backbonestore.nw > docs/backbonestore.html html: docs/backbonestore.html clean: - rm -f htdocs/*.* docs/*.tex docs/*.dvi docs/*.aux docs/*.toc docs/*.log docs/*.out - rm -fr ./work distclean: clean - rm -fr ./htdocs/lib realclean: distclean - rm -fr docs