56 lines
1.1 KiB
Makefile
56 lines
1.1 KiB
Makefile
.PHONY: all serve clean
|
|
|
|
COFFEE:=./node_modules/.bin/coffee
|
|
|
|
#### General
|
|
|
|
all: build
|
|
|
|
build: src/*coffee
|
|
@$(COFFEE) -v > /dev/null
|
|
$(COFFEE) -o lib/ -c src/*.coffee
|
|
|
|
clean:
|
|
rm -f lib/*.js
|
|
|
|
|
|
#### Testing
|
|
|
|
test_server: build
|
|
node tests/test_server/server.js
|
|
|
|
serve:
|
|
@if [ -e .pidfile.pid ]; then \
|
|
kill `cat .pidfile.pid`; \
|
|
rm .pidfile.pid; \
|
|
fi
|
|
|
|
@while [ 1 ]; do \
|
|
make build; \
|
|
echo " [*] Running http server"; \
|
|
make test_server & \
|
|
SRVPID=$$!; \
|
|
echo $$SRVPID > .pidfile.pid; \
|
|
echo " [*] Server pid: $$SRVPID"; \
|
|
inotifywait -r -q -e modify .; \
|
|
kill `cat .pidfile.pid`; \
|
|
rm -f .pidfile.pid; \
|
|
sleep 0.1; \
|
|
done
|
|
|
|
#### Release process
|
|
# 1) commit everything
|
|
# 2) amend version in package.json
|
|
# 3) run 'make tag' and run suggested 'git push' variants
|
|
# 4) run 'npm publish'
|
|
|
|
RVER:=$(shell grep "version" package.json|tr '\t"' ' \t'|cut -f 4)
|
|
VER:=$(shell ./VERSION-GEN)
|
|
|
|
.PHONY: tag
|
|
tag: all
|
|
git commit $(TAG_OPTS) package.json Changelog -m "Release $(RVER)"
|
|
git tag v$(RVER) -m "Release $(RVER)"
|
|
@echo ' [*] Now run'
|
|
@echo 'git push; git push --tag'
|