blob: 32706acd4416c99bc452b02a99e0248ca4bde7bb (
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
|
include Makefile.shared
CP=cp
CXX?=g++
MKDIR?=mkdir
RM?=rm -f
ECHO?=echo
LD=g++
MDOC=mdoc
shared_objs=$(SHARED_SRC:src/shared/%=build/shared/%.o)
client_objs=$(CLIENT_SRC:src/client/%=build/client/%.o)
server_objs=$(SERVER_SRC:src/server/%=build/server/%.o)
client_bins=bin/client/bin/brokengine_client.exe $(client_dlls:%=bin/client/bin/%.dll)
server_bins=bin/server/bin/brokengine_server.exe
bins=$(client_bins) $(server_bins)
CLIENT_LIB_DIRS=\
-Llib/bulletminus/dist\
-Llib/irrlicht/lib/Win32-gcc\
-Llib/luajit/src\
-Llib/nng/static
lib_objs=\
lib/nng/static/libnng.a\
lib/irrlicht/lib/Win32-gcc/libIrrlicht.a\
lib/luajit/src/libluajit-5.1.dll.a\
lib/bulletminus/dist/libbulletdynamics.a\
lib/bulletminus/dist/libbulletcollision.a\
lib/bulletminus/dist/liblinearmath.a
CLIENT_LIBS=\
-lbulletdynamics\
-lbulletcollision\
-llinearmath\
-lIrrlicht\
-lnng\
-lluajit-5.1.dll\
-lws2_32\
-lmswsock\
-ladvapi32\
-lwinmm\
-lm
#-lstdc++-6
#-lOpenGL32\
CFLAGS+=-DNNG_STATIC_LIB -g
ifeq ($(DEBUG), true)
else
LDFLAGS += -mwindows
endif
all : $(bins)
echo "Done"
clean:
$(RM) $(client_objs)
$(RM) $(server_objs)
$(RM) $(shared_objs)
$(RM) $(bins)
$(RM) -r doc/*
nuke: clean
doc: documentation
documentation:
$(MDOC) -p src -o doc -t "Brok[en]gine" -i README.md -d reference -m "markdown"
test:
busted
bin/client/bin/brokengine_client.exe : $(client_objs) $(shared_objs) #$(lib_objs)
$(Q)echo "Linking $@"
$(Q)$(LD) $(LDFLAGS) -o $@ $^ $(CLIENT_LIB_DIRS) $(CLIENT_LIBS) # -Wl,--verbose
bin/server/bin/brokengine_server.exe : $(server_objs) $(shared_objs)
$(Q)echo "Linking $@"
$(Q)$(LD) $(LDFLAGS) -o $@ $^ $(CLIENT_LIB_DIRS) $(CLIENT_LIBS) # -Wl,--verbose
$(shared_objs) : build/shared/%.o : src/shared/%.cpp src/shared/%.hpp
$(Q)echo "CXX $@"
$(Q)$(CXX) $(CFLAGS) -c -o $@ $<
$(client_objs) : build/client/%.o : src/client/%.cpp src/client/%.hpp
$(Q)echo "CXX $@"
$(Q)$(CXX) $(CFLAGS) -c -o $@ $<
$(server_objs) : build/server/%.o : src/server/%.cpp src/server/%.hpp
$(Q)echo "CXX $@"
$(Q)$(CXX) $(CFLAGS) -c -o $@ $<
|