-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
115 lines (103 loc) · 2.94 KB
/
Makefile
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
# livejammin Makefile
#
EXEC_SERVER = livejammin_server
EXEC_CLIENT = livejammin_client
BUILD_DIR = build
DEBUG = yes
CPP = g++
SERVER_SRC = server/main.cpp\
server/logger_modules/LoggerModule_syslog.cpp\
server/user_modules/UserModule_mysql.cpp\
server/Server.cpp\
server/ServerManager.cpp\
server/Component_SessionManager.cpp\
server/Config.cpp\
server/Option.cpp\
server/Argument.cpp\
server/Component_ChannelManager.cpp\
server/Component_FriendManager.cpp\
server/Component_RoomManager.cpp\
server/Component_JamManager.cpp\
server/Component_UserInfoManager.cpp\
server/AudioMixingEngine.cpp\
server/AudioFrame.cpp\
server/MixingBuffer.cpp\
core/IComponent.cpp\
core/Time.cpp\
core/Tools.cpp\
core/Channel.cpp\
core/Room.cpp\
core/Jam.cpp\
core/Bind_recv.cpp\
core/Request.cpp\
core/Session.cpp\
core/Manager.cpp\
core/PacketQueue.cpp\
core/Packet.cpp\
core/Packet_v1.cpp\
core/Packet_v1_Session.cpp\
core/Packet_v1_Channel.cpp\
core/Packet_v1_Friend.cpp\
core/Packet_v1_Room.cpp \
core/Packet_v1_UserInfo.cpp \
core/Packet_v1_Jam.cpp
CLIENT_SRC = client/main_net.cpp\
client/Client.cpp\
client/ClientManager.cpp\
client/Component_Session.cpp\
client/Component_Channel.cpp\
core/Channel.cpp\
core/Manager.cpp\
core/Session.cpp\
core/Bind_recv.cpp\
core/Request.cpp\
core/PacketQueue.cpp\
core/Packet.cpp\
core/Packet_v1.cpp\
core/Packet_v1_Session.cpp\
core/Packet_v1_Channel.cpp
OBJ_SERVER = $(SERVER_SRC:.cpp=.o)
OBJ_CLIENT = $(CLIENT_SRC:.cpp=.o)
SRC = $(SERVER_SRC) $(CLIENT_SRC)
OBJ = $(SRC:.cpp=.o)
INCLUDE_DIR = -Iinclude -Iserver/include -Iclient/include -Iserver/logger_modules/include -Icore/include -Iserver/user_modules/include
LIB_DIR =
CXXFLAGS = -W -Wall -ansi $(INCLUDE_DIR) -DMYSQLPP_MYSQL_HEADERS_BURIED # if not def mysql++ doesnt find loads of files
LDFLAGS = -lboost_system -lboost_thread-mt -lboost_program_options -lyaml-cpp -lmysqlpp
ifeq ($(DEBUG), yes)
CXXFLAGS += -g3 -pg -D_DEBUG -fno-default-inline
LDFLAGS += -pg
else
CXXFLAGS += -O3 -DNDEBUG
LDFLAGS +=
endif
LDFLAGS += $(LIB_DIR) # must be at the end
RM = rm -f
STRIP = strip
CP = cp
all: server
server: $(OBJ_SERVER)
ifneq ($(DEBUG), yes)
$(CPP) -o $(EXEC_SERVER) $(OBJ_SERVER) $(LDFLAGS)
strip $(EXEC_SERVER)
$(CP) $(EXEC_SERVER) $(BUILD_DIR)/$(EXEC_SERVER)_release
else
$(CPP) -o $(EXEC_SERVER) $(OBJ_SERVER) $(LDFLAGS)
$(CP) $(EXEC_SERVER) $(BUILD_DIR)/$(EXEC_SERVER)_debug
endif
client: $(OBJ_CLIENT)
ifneq ($(DEBUG), yes)
$(CPP) -o $(EXEC_CLIENT) $(OBJ_CLIENT) $(LDFLAGS)
strip $(EXEC_CLIENT)
$(CP) $(EXEC_CLIENT) $(BUILD_DIR)/$(EXEC_CLIENT)_release
else
$(CPP) -o $(EXEC_CLIENT) $(OBJ_CLIENT) $(LDFLAGS)
$(CP) $(EXEC_CLIENT) $(BUILD_DIR)/$(EXEC_CLIENT)_debug
endif
clean:
@$(RM) $(OBJ)
myclean: clean
@$(RM) *~
mrproper: clean
@$(RM) $(EXEC)
re: clean all