blob: d18f6574a7d72806e27ccfb42809e831f6d452e2 (
plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
#Run with mingw32-make
CLIENT_EXE=borkengin.exe
CLIENT_PATH=bin/client/bin/$(CLIENT_EXE)
CLIENT_SRC=src/client/
CLIENT_BUILD=build/client/
SERVER_EXE=borkserver.exe
SERVER_PATH=bin/server/bin/$(SERVER_EXE)
SERVER_SRC=src/server/
SERVER_BUILD=build/server/
SHARED_SRC=src/shared/
TEST_PATH=bin/test/
TEST_SRC=src/test/
MASTER_EXE=borkmaster.exe
#Change these on linux
CC=g++
MKDIR=mkdir
RM=rm -f
ECHO=printf
#Include directories
ILUADIR=./lib/luajit/lua-5.1.5/src
IIRRDIR=./lib/irrlicht/irrlicht-1.8.4/include
IBULDIR=./lib/bullet/bullet3-2.86.1/bullet3-2.86.1/src
INANDIR=./lib/nanomsg/nanomsg-1.0.0/src
INCLUDES=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INANDIR)
#library directories
LLUADIR=lib/luajit
LIRRDIR=lib/irrlicht
LBULDIR=lib/bullet
LNANDIR=lib/nanomsg
LIBRARIES=-L$(LLUADIR) -L$(LIRRDIR) -L$(LBULDIR) -L$(LNANDIR)
#Libraries
LIBLUA=$(LLUADIR)/liblua.a
LIBIRR=$(LIRRDIR)/libIrrlicht.a
LIBBCO=$(LBULDIR)/libBulletCollision.a
LIBBDY=$(LBULDIR)/libBulletDynamics.a
LIBBLM=$(LBULDIR)/libLinearMath.a
LIBNAN=$(LNANDIR)/libnanomsg.dll.a
DLLIRR=$(LIRRDIR)/Irrlicht.dll
DYNAMIC_LIBS = -llua -lnanomsg.dll -lIrrlicht
#order matters!
STATIC_LIBS = -lBulletDynamics -lBulletCollision -lLinearMath
LIBS=-Bstatic $(STATIC_LIBS) -Bdynamic $(DYNAMIC_LIBS)
SLIBS=$(LIBLUA) $(LIBIRR) $(LIBBDY) $(LIBBCO) $(LIBBLM) $(LIBNAN) $(DLLIRR)
#can't compile with -std=c++11 because irrlicht will complain
CFLAGS=-Wall -g -static $(INCLUDES)
LDFLAGS=-mwindows
all : $(CLIENT_PATH) $(SERVER_PATH)
client : $(CLIENT_PATH)
server : $(SERVER_PATH)
#Compile the client
$(CLIENT_PATH) : $(CLIENT_BUILD)main.o $(CLIENT_BUILD)initdevice.o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_BUILD)load_gui.o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_BUILD)load_game.o $(CLIENT_BUILD)load_scene.o $(CLIENT_BUILD)load_phys.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)load_net.o $(CLIENT_BUILD)physcommon.o $(SLIBS) $(CLIENT_BUILD)load_video.o
$(CC) -o $(CLIENT_PATH) -static $(CLIENT_BUILD)*.o $(LIBRARIES) $(DYNAMIC_LIBS) $(STATIC_LIBS) $(SLIBS)
$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
$(CLIENT_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
$(CLIENT_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(CLIENT_BUILD)stream.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
$(CLIENT_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
$(CLIENT_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)common.o $(SHARED_SRC)lua_api/common.c
$(CLIENT_BUILD)initdevice.o : $(CLIENT_SRC)initdevice.cpp $(CLIENT_SRC)initdevice.hpp
$(CC) $(CFLAGS) -c -static -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.cpp
$(CLIENT_BUILD)menuhandeler.o : $(CLIENT_SRC)menuhandeler.cpp $(CLIENT_SRC)menuhandeler.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_SRC)menuhandeler.cpp
$(CLIENT_BUILD)load_game.o : $(CLIENT_SRC)lua_api/load_game.cpp $(CLIENT_SRC)lua_api/load_game.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_game.o $(CLIENT_SRC)lua_api/load_game.cpp
$(CLIENT_BUILD)load_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguigeneric.o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_BUILD)iguiskin.o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_SRC)lua_api/load_gui.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp
$(CLIENT_BUILD)iguiimage.o : $(CLIENT_SRC)lua_api/gui/iguiimage.cpp $(CLIENT_SRC)lua_api/gui/iguiimage.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/gui/iguiimage.cpp
$(CLIENT_BUILD)iguiwindow.o : $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp $(CLIENT_SRC)lua_api/gui/iguiwindow.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp
$(CLIENT_BUILD)iguiutil.o : $(CLIENT_SRC)lua_api/gui/iguiutil.cpp $(CLIENT_SRC)lua_api/gui/iguiutil.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiutil.cpp
$(CLIENT_BUILD)load_video.o : $(CLIENT_SRC)lua_api/load_video.cpp $(CLIENT_SRC)lua_api/load_video.hpp $(CLIENT_BUILD)smaterial.o $(CLIENT_BUILD)itexture.o $(CLIENT_BUILD)iimage.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_video.o $(CLIENT_SRC)lua_api/load_video.cpp
$(CLIENT_BUILD)smaterial.o : $(CLIENT_SRC)lua_api/video/smaterial.cpp $(CLIENT_SRC)lua_api/video/smaterial.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)smaterial.o $(CLIENT_SRC)lua_api/video/smaterial.cpp
$(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC)lua_api/video/itexture.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)itexture.o $(CLIENT_SRC)lua_api/video/itexture.cpp
$(CLIENT_BUILD)iimage.o : $(CLIENT_SRC)lua_api/video/iimage.cpp $(CLIENT_SRC)lua_api/video/iimage.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iimage.o $(CLIENT_SRC)lua_api/video/iimage.cpp
$(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp
$(CLIENT_BUILD)load_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_scene.o $(CLIENT_SRC)lua_api/load_scene.cpp
$(CLIENT_BUILD)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)ilight.o $(CLIENT_SRC)lua_api/scene/ilight.cpp
$(CLIENT_BUILD)iguibutton.o : $(CLIENT_SRC)lua_api/gui/iguibutton.cpp $(CLIENT_SRC)lua_api/gui/iguibutton.hpp $(CLIENT_SRC)lua_api/guiparts.hpp $(CLIENT_SRC)callbackhandeler.hpp $(CLIENT_SRC)util/hashmap.h $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.cpp
$(CLIENT_BUILD)iguilabel.o : $(CLIENT_SRC)lua_api/gui/iguilabel.cpp $(CLIENT_SRC)lua_api/gui/iguilabel.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguilabel.o $(CLIENT_SRC)lua_api/gui/iguilabel.cpp
$(CLIENT_BUILD)iguicheckbox.o : $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp $(CLIENT_SRC)lua_api/gui/iguicheckbox.hpp $(SHARED_SRC)lua_api/common.h
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp
$(CLIENT_BUILD)iguielement.o : $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp $(CLIENT_SRC)lua_api/gui/iguielement.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguielement.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp
$(CLIENT_BUILD)iguiskin.o : $(CLIENT_SRC)lua_api/gui/iguiskin.cpp $(CLIENT_SRC)lua_api/gui/iguiskin.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiskin.o $(CLIENT_SRC)lua_api/gui/iguiskin.cpp
$(CLIENT_BUILD)icamera.o : $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/icamera.cpp $(CLIENT_SRC)lua_api/scene/icamera.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)icamera.o $(CLIENT_SRC)lua_api/scene/icamera.cpp
$(CLIENT_BUILD)imesh.o : $(CLIENT_SRC)lua_api/scene/imesh.cpp $(CLIENT_SRC)lua_api/scene/imesh.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)imesh.o $(CLIENT_SRC)lua_api/scene/imesh.cpp
$(CLIENT_BUILD)igeneric.o: $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_SRC)lua_api/scene/igeneric.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/igeneric.cpp
$(CLIENT_BUILD)cbphysbox.o: $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp $(CLIENT_SRC)lua_api/phys/cbphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_BUILD)bphysbox.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp
$(CLIENT_BUILD)bphysbox.o: $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_BUILD)common.o
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
$(CLIENT_BUILD)bphysmodel.o: $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp $(CLIENT_SRC)lua_api/phys/bphysmodel.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp
$(CLIENT_BUILD)callbackhandeler.o : $(CLIENT_SRC)callbackhandeler.cpp $(CLIENT_SRC)callbackhandeler.hpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_SRC)callbackhandeler.cpp
$(CLIENT_BUILD)hashmap.o : $(CLIENT_SRC)util/hashmap.c $(CLIENT_SRC)util/hashmap.h
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)util/hashmap.c
#end compile client
#compile server
$(SERVER_PATH) : $(SERVER_BUILD)main.o $(SERVER_BUILD)hashmap.o $(SERVER_BUILD)common.o $(SERVER_BUILD)physcommon.o $(SERVER_BUILD)load_net.o $(SERVER_BUILD)load_phys.o
$(CC) -static -o $(SERVER_PATH) $(CFLAGS) $(SERVER_BUILD)*.o $(SLIBS)
$(SERVER_BUILD)main.o : $(SERVER_SRC)main.cpp $(SERVER_SRC)testclient.cpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)main.o $(SERVER_SRC)main.cpp
$(SERVER_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
$(SERVER_BUILD)hashmap.o : $(SHARED_SRC)util/hashmap.c $(SHARED_SRC)util/hashmap.h
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)hashmap.o $(SHARED_SRC)util/hashmap.c
$(SERVER_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)common.o $(SHARED_SRC)lua_api/common.c
# Net
$(SERVER_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(SERVER_BUILD)stream.o
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
$(SERVER_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
# Phys
$(SERVER_BUILD)load_phys.o: $(SHARED_SRC)lua_api/load_phys.cpp $(SHARED_SRC)lua_api/load_phys.hpp $(SERVER_BUILD)bphysbox.o
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)load_phys.o $(SHARED_SRC)lua_api/load_phys.cpp
$(SERVER_BUILD)bphysbox.o : $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
#end compile server
#compile & run tests
test: $(TEST_PATH)test_stream $(TEST_PATH)test_phys
@$(ECHO) "Testing stream : "
@./$(TEST_PATH)test_stream
@$(ECHO) "Testing physics: "
@./$(TEST_PATH)test_phys
$(TEST_PATH)test_stream : $(TEST_SRC)test_streams.cpp $(SHARED_SRC)/lua_api/stream.cpp $(SHARED_SRC)/lua_api/stream.hpp
@$(CC) $(CFLAGS) -o $(TEST_PATH)test_stream $(TEST_SRC)test_streams.cpp $(SHARED_SRC)/lua_api/stream.cpp $(SHARED_SRC)/lua_api/stream.hpp
$(TEST_PATH)test_phys : $(TEST_SRC)test_phys.cpp
$(CC) $(CFLAGS) -o $(TEST_PATH)test_phys $(TEST_SRC)test_phys.cpp $(SLIBS)
#end tests
clean :
$(RM) $(SERVER_PATH)
$(RM) $(CLIENT_PATH)
$(RM) $(CLIENT_BUILD)*.o
$(RM) $(SERVER_BUILD)*.o
|