-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (39 loc) · 1.08 KB
/
Makefile
File metadata and controls
60 lines (39 loc) · 1.08 KB
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
53
54
55
56
57
58
59
60
#include ../make/rules.mk
.PRECIOUS: %.js %.coffee
#export NODE_PATH=$(shell pwd)
files.mp := $(wildcard tests/*.mp rules/*.mp)
mpjs = emitter.js grammar.js mpjs.js nodes.js functions.js \
list_clearing_houses.js to_coffee.js
svr = index.js rules.js index_restify.js
.PHONY: all
all: check_rules.js $(mpjs) $(files.mp:%.mp=%.js) functions.js rulebase.js rules.js
node $<
svr: $(svr)
grammar.js: grammar.y grammar.l
%.js: %.y %.l
jison $^
%.js: %.coffee
coffee -c $<
%.coffee: %.mp $(mpjs)
node mpjs.js $< -o $@
%.js: %.mpl mpl2js.js
node mpl2js.js $< > $@
# files.coffee := $(wildcard *.coffee *.coffee) \
# $(files.mp:.mp=.coffee)
%.d: %.mp Makefile
sed -n "/include:/s,include: *\(.*\)$$,$(<:.mp=.coffee): $(<D)/\1\.js,p" $< > $@
#all: $(files.coffee:.coffee=.js) $(files.mp:.mp=.js)
rename_rules:
for i in rules/*; \
do \
mv "$$i" `echo $$i | sed "s/ /_/g"`.mp ; \
done
clean:
rm -f {tests,rules}/*.{d,js,coffee,ok}
rm -f *.js
../mpjs.tar: *
cd ..; tar cf mpjs.tar mpjs
%.gz: %
gzip -f $<
pkg: ../mpjs.tar.gz
-include $(files.mp:.mp=.d)