# You can set these variables from the command line. GRUNT ?= node_modules\.bin\grunt.cmd BOWER ?= node_modules\.bin\bower.cmd PHANTOMJS ?= node_modules\.bin\phantomjs.cmd RJS ?= ./node_modules/.bin/r.js.cmd SASS ?= sass RMRF ?= rmdir /q /s RMF ?= del /q HTTPSERVE ?= ./node_modules/.bin/http-server.cmd .PHONY: all help clean css minjs build all: dev help: @echo "Please use \`make ' where is one of the following" @echo " dev to set up the development environment" @echo " build create minified builds containing converse.js and all its dependencies" @echo " serve to serve this directory via a webserver on port 8000" ######################################################################## ## Miscellaneous serve: $(HTTPSERVE) -p 8000 ######################################################################## ## Install dependencies stamp-npm: package.json npm install $(GRUNT) touch:npm stamp-bower: stamp-npm bower.json $(BOWER) install $(GRUNT) touch:bower clean:: @if EXIST stamp-npm $(RMF) stamp-npm @if EXIST stamp-bower $(RMF) stamp-bower @if EXIST node_modules\. $(RMRF) node_modules @if EXIST components\. $(RMRF) components dev: clean npm install $(BOWER) update bundler install --path=. ######################################################################## ## Builds css:: $(SASS) sass/converse.scss > css/converse.css .PHONY: build build:: stamp-npm $(GRUNT) jst $(GRUNT) cssmin $(RJS) -o src/build.js $(RJS) -o src/build.js optimize=none out=dist/converse.js $(RJS) -o src/build-no-jquery.js $(RJS) -o src/build-no-jquery.js optimize=none out=dist/converse.nojquery.js $(RJS) -o src/build-no-dependencies.js $(RJS) -o src/build-no-dependencies.js optimize=none out=dist/converse-no-dependencies.js ######################################################################## ## Tests check:: stamp-npm $(PHANTOMJS) node_modules/phantom-jasmine/lib/run_jasmine_test.coffee tests.html