aboutsummaryrefslogtreecommitdiff
path: root/Makefile.win
blob: 059b3f177ffbbc85cb69559bf1478d4187e09fe7 (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
include Makefile.shared

CP=cp
CXX?=g++
MKDIR?=mkdir
RM?=rm -f
ECHO?=echo

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_dlls=Irrlicht 
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/bullet/lib\
	-Llib/irrlicht/lib/Win32-gcc\
	-Llib/luajit/src\
	-Llib/nng/static

CLIENT_LIBS=\
	-lBulletDynamics\
	-lBulletCollision\
	-lLinearMath\
	-lIrrlicht\
	-lnng\
	-lluajit\
	-lOpenGL32\
	-lws2_32\
	-lmswsock\
	-ladvapi32\
	-lwinmm\
	-lm\
	#-lstdc++

CFLAGS+=-DNNG_STATIC_LIB
ifeq ($(DEBUG), true)
else
	LDFLAGS += -mwindows
endif

all : $(bins)
	echo "Done"

clean:
	$(RM) $(client_objs)
	$(RM) $(server_objs)
	$(RM) $(shared_objs)
	$(RM) $(bins)

bin/client/bin/brokengine_client.exe : $(client_objs) $(shared_objs)
	$(Q)echo "Linking $@"
	$(Q)$(CXX) $(LDFLAGS) -o $@ $^ $(CLIENT_LIB_DIRS) $(CLIENT_LIBS) # -Wl,--verbose

bin/server/bin/brokengine_server.exe : $(server_objs) $(shared_objs)
	$(Q)echo "Linking $@"
	$(Q)$(CXX) $(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 $@ $<

bin/client/bin/Irrlicht.dll : lib/irrlicht/bin/Win32-gcc/Irrlicht.dll
	cp $^ $@