forked from javapretty/game_server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
79 lines (57 loc) · 1.44 KB
/
Makefile
File metadata and controls
79 lines (57 loc) · 1.44 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
###在这里添加源文件目录
SRCDIR= ./\
./db_server/\
./game_server/\
./gate_server/\
./log_server/\
./login_server/\
./master_server/\
./misc/\
./v8/
###这里定义目标文件目录
OBJDIR =./obj/
TARGET_NAME=server
BIN=./
INCLUDE=-I/usr/local/include/netlib\
$(addprefix -I, $(SRCDIR))
LIBDIR=-L./
LIB=-lnetlib\
-lv8\
-lv8_libplatform\
-lcurl\
-lcrypto\
-lmongoclient\
-lmysqlcppconn\
-ljsoncpp\
-lboost_filesystem\
-lboost_thread-mt\
CC=g++
DEPENS=-MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)"
DEBUGFLAG=-O0 -g3 -c -Wall -fmessage-length=0 -std=c++11
RELEASEFLAG=-O3 -Wall -c -fmessage-length=0 -std=c++11
LDFLAG=
BIN_TARGET=$(OBJDIR)bin/$(TARGET_NAME)
SRCS=$(wildcard $(addsuffix *.cpp, $(SRCDIR)))
OBJECTS:=$(addprefix $(OBJDIR), $(subst ./,,$(SRCS:.cpp=.o)))
.PHONY:all mkobjdir clean
all:mkobjdir $(BIN_TARGET)
-include $(OBJECTS:.o=.d)
$(BIN_TARGET):$(OBJECTS)
$(CC) $(LDFLAG) -o $@ $^ $(LIBDIR) $(LIB)
@echo " "
@echo "Finished building target: $(TARGET_NAME)"
@echo " "
@-cp -f $(BIN_TARGET) $(BIN)
$(OBJDIR)%.o:%.cpp
ifeq ($(MODE), DEBUG)
@echo "Building DEBUG MODE target $@"
$(CC) $(INCLUDE) $(DEBUGFLAG) $(DEPENS) -o "$(@)" "$(<)"
else
@echo "Building RELEASE MODE target $@"
$(CC) $(INCLUDE) $(RELEASEFLAG) $(DEPENS) -o "$(@)" "$(<)"
endif
@echo " "
mkobjdir:
@test -d $(OBJDIR) || (mkdir $(OBJDIR) && mkdir $(OBJDIR)bin $(addprefix $(OBJDIR), $(subst ./,,$(SRCDIR))))
clean:
-rm -rf $(OBJDIR)