-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
132 lines (105 loc) · 3.15 KB
/
Makefile
File metadata and controls
132 lines (105 loc) · 3.15 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
rust-projects := \
c-marshalling \
derive-c-marshalling-library \
derive-lua-marshalling \
generator \
lua-marshalling \
parser \
rust-example \
rust-unit
.PHONY: all
all: build test run
.PHONY: build-debug-rust
build-debug-rust:
for project in $(rust-projects); do \
cargo build --package $$project; \
done
.PHONY: build-release-rust
build-release-rust:
for project in $(rust-projects); do \
cargo build --release --package $$project; \
done
.PHONY: test-debug-rust
test-debug-rust:
for project in $(rust-projects); do \
cargo test --package $$project; \
done
.PHONY: test-release-rust
test-release-rust:
for project in $(rust-projects); do \
cargo test --release --package $$project; \
done
.PHONY: clean-rust
clean-rust:
for project in $(rust-projects); do \
cargo clean --package $$project; \
done
lua/test/luaunit.lua:
curl https://raw.githubusercontent.com/bluebird75/luaunit/master/luaunit.lua \
> lua/test/luaunit.lua
.PHONY: luaunit
luaunit: lua/test/luaunit.lua
.PHONY: build-debug-example-lua
build-debug-example-lua: build-debug-rust
mkdir -p lua/output
LD_LIBRARY_PATH=target/debug/ \
luajit lua/bootstrap.lua rust_example > lua/output/rust-example.lua
.PHONY: build-release-example-lua
build-release-example-lua: build-release-rust
mkdir -p lua/output
LD_LIBRARY_PATH=target/release/ \
luajit lua/bootstrap.lua rust_example > lua/output/rust-example.lua
.PHONY: build-debug-unit-lua
build-debug-unit-lua: build-debug-rust
mkdir -p lua/output
LD_LIBRARY_PATH=target/debug/ \
luajit lua/bootstrap.lua rust_unit > lua/output/rust-unit.lua
.PHONY: build-release-unit-lua
build-release-unit-lua: build-release-rust
mkdir -p lua/output
LD_LIBRARY_PATH=target/release/ \
luajit lua/bootstrap.lua rust_unit > lua/output/rust-unit.lua
.PHONY: build-debug-lua
build-debug-lua: build-debug-example-lua build-debug-unit-lua
.PHONY: build-release-lua
build-release-lua: build-release-example-lua build-release-unit-lua
.PHONY: test-debug-lua
test-debug-lua: build-debug-rust build-debug-lua luaunit
LD_LIBRARY_PATH=target/debug/ \
LUA_PATH="lua/?.lua;lua/output/?.lua;lua/test/?.lua;;" \
luajit lua/test/run.lua
.PHONY: test-release-lua
test-release-lua: build-release-rust build-release-lua luaunit
LD_LIBRARY_PATH=target/release/ \
LUA_PATH="lua/?.lua;lua/output/?.lua;lua/test/?.lua;;" \
luajit lua/test/run.lua
.PHONY: run-debug-lua
run-debug-lua: build-debug-rust build-debug-lua
LD_LIBRARY_PATH=target/debug/ \
LUA_PATH="lua/?.lua;lua/output/?.lua;;" \
luajit lua/example.lua
.PHONY: run-release-lua
run-release-lua: build-release-rust build-release-lua
LD_LIBRARY_PATH=target/release/ \
LUA_PATH="lua/?.lua;lua/output/?.lua;;" \
luajit lua/example.lua
.PHONY: clean-lua
clean-lua:
rm -rf lua/output
rm -f lua/test/luaunit.lua
.PHONY: build-debug
build-debug: build-debug-rust build-debug-lua
.PHONY: build-release
build-release: build-release-rust build-release-lua
.PHONY: build
build: build-debug
.PHONY: test-debug
test-debug: test-debug-rust test-debug-lua
.PHONY: test-release
test-release: test-release-rust test-release-lua
.PHONY: test
test: test-debug
.PHONY: clean
clean: clean-rust clean-lua
.PHONY: run
run: run-debug-lua