-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
78 lines (61 loc) · 1.51 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.PHONY: recompile boot
default: recompile
deps:
go get github.com/aryszka/treerack/...
make gen-parser
go get ./...
boot:
go install ./boot/mml
builddir:
mkdir -p build
compile-proto: builddir
mml main > build/main.1.go
compile-new:
go run build/main.1.go main > build/main.2.go
go run build/main.2.go main > build/main.3.go
diff build/main.2.go build/main.3.go
rm build/main.1.go build/main.2.go
mv build/main.3.go boot/mml/main.go
# in order to avoid unnecessary diffs:
go fmt boot/mml/main.go
go install ./boot/mml
recompile: compile-proto compile-new
check: check-syntax
check-syntax: parser.treerack
treerack check-syntax parser.treerack
parser/parser.go: check-syntax
mkdir -p parser
treerack generate \
-export \
-package-name parser \
-syntax parser.treerack \
> parser/parser.go
# in order to avoid unnecessary diffs:
go fmt ./parser
gen-parser: parser/parser.go
check-syntax2: parser2.treerack
treerack check-syntax parser2.treerack
check-syntax-test: parsertest.treerack
treerack check-syntax parsertest.treerack
gen-parser2: check-syntax2
mkdir -p parser
treerack generate \
-export \
-package-name parser \
-syntax parser2.treerack \
> parser/parser.go
# in order to avoid unnecessary diffs:
go fmt ./parser
gen-parser-test: check-syntax-test
mkdir -p parser
treerack generate \
-export \
-package-name parser \
-syntax parsertest.treerack \
> parser/parser.go
# in order to avoid unnecessary diffs:
go fmt ./parser
fmt:
go fmt builtin.go
clean:
rm -rf build