-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
52 lines (40 loc) · 1.01 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
NM=node_modules
JSLIB=static/js/lib
SERVE_BIN=$(NM)/serve/bin/serve
JADE_BIN=$(NM)/jade/bin/jade
COFFEE_BIN=$(NM)/coffee-script/bin/coffee
LODASH_LIB=$(NM)/lodash/lodash.min.js
SOCKETIO_LIB=$(NM)/socket.io/node_modules/socket.io-client/dist/socket.io.min.js
ZEPTO_LIB=$(NM)/zepto/zepto.min.js
SP=.serve.pid
CP=.watch.pid
JADE=$(wildcard *.jade static/html/*.jade)
HTML=$(JADE:.jade=.html)
%.html: %.jade
$(JADE_BIN) < $< --path $< > $@
COFFEE=$(wildcard *.coffee static/js/*.coffee)
JS=$(COFFEE:.coffee=.js)
%.js: %.coffee
$(COFFEE_BIN) -c $<
all: $(HTML) $(JS)
node_modules:
npm install
cp $(LODASH_LIB) $(JSLIB)
cp $(SOCKETIO_LIB) $(JSLIB)
cp $(ZEPTO_LIB) $(JSLIB)
run_server:
$(SERVE_BIN) & echo "$$!" > $(SP)
kill_server:
kill $(shell cat $(SP))
rm $(SP)
run_watch:
$(COFFEE_BIN) -cw . & echo "$$!" > $(CP)
kill_watch:
kill $(shell cat $(CP))
rm $(CP)
clean:
rm -f $(HTML) $(JS)
mrproper: clean
rm -rf $(NM)
rm -f $(JSLIB)/*.js
.PHONY: node_modules run_server kill_server run_watch kill_watch clean mrproper