-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
87 lines (70 loc) · 3.02 KB
/
Copy pathMakefile
File metadata and controls
87 lines (70 loc) · 3.02 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
XFILES := LuaCall LuaStack formatany keyescape streamout keys map apply other iterate
XHEADER := include/LuaAide.h
CPPFLAGS := -Iinclude -I/usr/include/lua5.4 -I ../../../thirdparty/include
CXXFLAGS := --std=c++20 -Wall
# -Werror
BT := buildsys/gcc/bt
.PHONY: clean dir test
all: dir libLuaAide.a ulutest/ulutest.so LuaAideTest \
b/simplescripts b/errorhandling b/lightuserdata b/embedding_cppclass \
b/vec3.so b/timestamp.so b/colorenum.so \
b/hilf1
clean:
@rm -rf b $(BT) libLuaAide.a LuaAideTest ulutest/ulutest.so
dir:
@mkdir -p b buildsys/gcc/bt
test: TestSummary.lua
@lua $< --print
# ============================================================
libLuaAide.a: $(XFILES:%=b/%.o)
@echo $<
@ar -crs $@ $^
b/%.o: src/%.cpp $(XHEADER)
@echo $<
@g++ -fpic -o $@ -c $< $(CPPFLAGS) $(CXXFLAGS)
# ============================================================
LuaAideTest: src/testmain.cpp src/testpush.cpp $(XFILES:%=$(BT)/%.o)
@echo $<
@g++ -o $@ $^ $(CPPFLAGS) $(CXXFLAGS) -DUNITTEST -DGTEST_HAS_PTHREAD=1 -llua5.4 -lgtest
$(BT)/%.o: src/%.cpp $(XHEADER)
@echo $<
@g++ -o $@ -c $< $(CPPFLAGS) $(CXXFLAGS) -DUNITTEST -DGTEST_HAS_PTHREAD=1
# ============================================================
b/simplescripts: examples/simplescripts.cpp libLuaAide.a $(XHEADER)
@echo $<
@g++ -o $@ $< $(CPPFLAGS) $(CXXFLAGS) -L. -lLuaAide -llua5.4
b/errorhandling: examples/errorhandling.cpp libLuaAide.a $(XHEADER)
@echo $<
@g++ -o $@ $< $(CPPFLAGS) $(CXXFLAGS) -L. -lLuaAide -llua5.4
b/lightuserdata: examples/lightuserdata.cpp libLuaAide.a $(XHEADER)
@echo $<
@g++ -o $@ $< $(CPPFLAGS) $(CXXFLAGS) -L. -lLuaAide -llua5.4
b/embedding_cppclass: examples/embedding_cppclass.cpp libLuaAide.a $(XHEADER)
@echo $<
@g++ -o $@ $< $(CPPFLAGS) $(CXXFLAGS) -L. -lLuaAide -llua5.4
b/vec3.so: examples/module_vec3.cpp libLuaAide.a $(HEADER)
g++ -shared -fpic -o $@ $^ $(CPPFLAGS) $(CXXFLAGS)
b/timestamp.so: examples/module_timestamp.cpp libLuaAide.a $(HEADER)
g++ -shared -fpic -o $@ $^ $(CPPFLAGS) $(CXXFLAGS)
b/colorenum.so: examples/module_colorenum.cpp libLuaAide.a $(HEADER)
g++ -shared -fpic -o $@ $^ $(CPPFLAGS) $(CXXFLAGS)
# ============================================================
ulutest/ulutest.so:
make -C ulutest
# ============================================================
$(BT)/LuaAideTest.result: ./LuaAideTest
@./LuaAideTest > $@
$(BT)/moduletest_vec3.result: examples/moduletest_vec3.lua b/vec3.so
@lua $< > $@
$(BT)/moduletest_timestamp.result: examples/moduletest_timestamp.lua b/timestamp.so
@lua $< > $@
$(BT)/moduletest_colorenum.result: examples/moduletest_colorenum.lua b/colorenum.so
@lua $< > $@
TestSummary.lua: $(BT)/LuaAideTest.result $(BT)/moduletest_vec3.result $(BT)/moduletest_timestamp.result $(BT)/moduletest_colorenum.result
@lua buildsys/generic/summarise_tests.lua $@ $^
# ============================================================
lspcommands:
@bear -- make -B all
b/hilf1: examples/hilf1.cpp libLuaAide.a $(XHEADER)
@echo $<
@g++ -o $@ $< $(CPPFLAGS) $(CXXFLAGS) -L. -lLuaAide -llua5.4