# client-client.coffee
features/testlmake/build/client.js: features/testlmake/client.coffee
	$(COFFEEC) -c $(COFFEE_FLAGS) -o features/testlmake/build $^

# stylus
features/testlmake/build/styles/testlmake.css: features/testlmake/styles/testlmake.styl
	mkdir -p features/testlmake/build/styles
	$(STYLUSC) $(STYLUS_FLAGS) -o features/testlmake/build/styles $^

# component.json
features/testlmake/build/component.json: features/testlmake/Manifest.coffee
	mkdir -p features/testlmake/build
	$(COMPONENT_GENERATOR) $< $@

# component-install
features/testlmake/build/components: features/testlmake/build/component.json build/local_components/features/bind-jade build/local_components/features/testlmake-dep
	cd features/testlmake/build && $(COMPONENT_INSTALL) $(COMPONENT_INSTALL_FLAGS) || rm -rf features/testlmake/build/components
	test -d features/testlmake/build/components
	touch features/testlmake/build/components

# component-build
features/testlmake/build/testlmake.js features/testlmake/build/testlmake.css: features/testlmake/build/component.json build/local_components/features/bind-jade build/local_components/features/testlmake-dep features/testlmake/build/client.js features/testlmake/build/styles/testlmake.css features/testlmake/build/views/list-entry-partial.js
	cd features/testlmake/build && $(COMPONENT_BUILD) $(COMPONENT_BUILD_FLAGS) --name testlmake -v -o ./

# local-components
build/local_components/features/testlmake: features/testlmake/build/client.js features/testlmake/build/styles/testlmake.css features/testlmake/build/component.json features/testlmake/build/components features/testlmake/build/testlmake.js features/testlmake/build/testlmake.css features/testlmake/build/views/list-entry-partial.js features/testlmake/build/demo.html features/testlmake/build/widget.html
	mkdir -p build/local_components/features/testlmake
	cp -r features/testlmake/build/* build/local_components/features/testlmake
	touch build/local_components/features/testlmake

# documentation
features/testlmake/build/documentation: features/testlmake/Readme.md
	@mkdir -p features/testlmake/build/documentation
	markdown features/testlmake/Readme.md > features/testlmake/build/documentation/Readme.md
	touch features/testlmake/build/documentation

# server-scripts
features/testlmake/server.js: features/testlmake/build/server.coffee
	@mkdir -p features/testlmake/build
	$(COFFEEC) -c $(COFFEE_FLAGS) -o features/testlmake/build $^

# feature
features/testlmake: build/local_components/features/testlmake features/testlmake/build/documentation

# runtime
features/testlmake/install: build/local_components/features/testlmake features/testlmake/build/documentation
	rsync -rR $^ build/runtime/features/testlmake

# global-coverage
build/coverage/features/testlmake: features/testlmake
	@mkdir -p build/coverage/features/testlmake
	@cp -r features/testlmake/* build/coverage/features/testlmake
	$(COFFEEC) -c $(COFFEE_FLAGS) -o build/coverage/uninstrumented_js_files/features/testlmake features/testlmake
	$(ISTANBUL) instrument --no-compact -x "**/test/**" -x "**/build/**" -x "**/_design/**" -x "**/components/**" --output build/coverage/features/testlmake build/coverage/uninstrumented_js_files/features/testlmake
	touch build/coverage/features/testlmake

# integration-test
features/testlmake/integration_test: features/testlmake
	$(MOCHA) -R $(MOCHA_REPORTER) --compilers coffee:coffee-script features/testlmake/test/testlmake-integration.coffee

# unit-test
features/testlmake/unit_test: 
	$(MOCHA) -R $(MOCHA_REPORTER) --compilers coffee:coffee-script features/testlmake/test/testlmake-unit.coffee

# browser-test-scripts
features/testlmake/build/test/test/testlmake-browser.js: features/testlmake/test/testlmake-browser.coffee
	$(COFFEEC) -c $(COFFEE_FLAGS) -o features/testlmake/build/test $^

# test-jade
features/testlmake/build/test/test.html: features/testlmake/test/test.jade features/testlmake/build/test/test/testlmake-browser.js features/testlmake/views/markup.jade features/testlmake-dep/views/page.jade
	$(JADEC) $< -P -o {\"name\":\"testlmake\"\,\"tests\":\"test/testlmake-browser.js\"} -O features/testlmake/build

# client-test-script-assets
features/testlmake/build/mocha.js features/testlmake/build/chai.js features/testlmake/build/sinon-1.7.3.js features/testlmake/build/jquery-1.10.2.js: /Users/awilhelm/dev/lake/node_modules/mocha/mocha.js /Users/awilhelm/dev/lake/node_modules/chai/chai.js /Users/awilhelm/dev/lake/test/vendor/sinon-1.7.3.js /Users/awilhelm/dev/lake/test/vendor/jquery-1.10.2.js
	cp /Users/awilhelm/dev/lake/node_modules/mocha/mocha.js features/testlmake/build/mocha.js
	cp /Users/awilhelm/dev/lake/node_modules/chai/chai.js features/testlmake/build/chai.js
	cp /Users/awilhelm/dev/lake/test/vendor/sinon-1.7.3.js features/testlmake/build/sinon-1.7.3.js
	cp /Users/awilhelm/dev/lake/test/vendor/jquery-1.10.2.js features/testlmake/build/jquery-1.10.2.js

# client-test-style-assets
features/testlmake/build/mocha.css: /Users/awilhelm/dev/lake/node_modules/mocha/mocha.css
	cp /Users/awilhelm/dev/lake/node_modules/mocha/mocha.css features/testlmake/build/mocha.css

# client-test
features/testlmake/client_test: features/testlmake features/testlmake/build/test/test.html features/testlmake/build/mocha.js features/testlmake/build/chai.js features/testlmake/build/sinon-1.7.3.js features/testlmake/build/jquery-1.10.2.js features/testlmake/build/mocha.css
	$(BIN)/mocha-phantomjs -R tap features/testlmake/build/test.html

# test-all
features/testlmake/testall: features/testlmake/integration_test features/testlmake/unit_test features/testlmake/client_test

# clean
features/testlmake/clean: 
	rm -rf features/testlmake/build

# jade.template.views/list-entry-partial.jade
features/testlmake/build/views/list-entry-partial.js: features/testlmake/views/list-entry-partial.jade
	@mkdir -p features/testlmake/build/views
	@echo "module.exports=" > $@
	$(JADEC) --client --path $< < $< >> $@

# htdocs.demo
features/testlmake/build/demo.html: features/testlmake/views/demo.jade features/testlmake/views/markup.jade features/testlmake-dep/views/page.jade
	$(JADEC) $< --pretty --obj {\"name\":\"testlmake\"} --out features/testlmake/build

# htdocs.widget
features/testlmake/build/widget.html: features/testlmake/views/widget.jade features/testlmake/views/markup.jade features/testlmake-dep/views/widget.jade
	$(JADEC) $< --pretty --obj {\"name\":\"testlmake\"} --out features/testlmake/build

