-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
70 lines (62 loc) · 2.51 KB
/
Copy pathMakefile
File metadata and controls
70 lines (62 loc) · 2.51 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
RELEASE = 0
UNICODE = 0
PLATFORM=linux
BUILDTYPE=0
FLAGS=
#要编译的模块
THIRDPART_MODULE_JSONCPP = ./XEngine_DependLibrary/XEngine_Module/jsoncpp
THIRDPART_MODULE_REPORT = ./XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport
THIRDPART_MODULE_VERIFICATION = ./XEngine_DependLibrary/XEngine_Module/XEngine_Verification
MODULE_CONFIGURE_PATH = ./XEngine_ModuleConfigure
MODULE_PROTOCOL_PATH = ./XEngine_ModuleProtocol
MODULE_SESSION_PATH = ./XEngine_ModuleSession
MODULE_HELP_PATH = ./XEngine_ModuleHelp
APP_SERVICE_PATH = ./XEngine_ServiceApp
ifeq ($(PLATFORM),linux)
FILEEXT = so
else ifeq ($(PLATFORM),mac)
FILEEXT = dylib
endif
# 第三方库模块
MODULES_THIRD = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Verification.so
# 业务模块 + 应用
MODULES_APP = libXEngine_ModuleConfigure.so libXEngine_ModuleProtocol.so libXEngine_ModuleSession.so libXEngine_ModuleHelp.so \
XEngine_ServiceApp.exe
# 根据 BUILDTYPE 决定编译目标
ifeq ($(BUILDTYPE),0)
XENGINE_MODULES = $(MODULES_THIRD) $(MODULES_APP)
else ifeq ($(BUILDTYPE),1)
XENGINE_MODULES = $(MODULES_THIRD)
else ifeq ($(BUILDTYPE),2)
XENGINE_MODULES = $(MODULES_APP)
endif
.PHONY:MakeAll
MakeAll:$(XENGINE_MODULES)
libjsoncpp.so:
ifeq ($(FLAGS), InstallAll)
cp $(THIRDPART_MODULE_JSONCPP)/libjsoncpp.$(FILEEXT) ../XEngine_Release/
else
make -C $(THIRDPART_MODULE_JSONCPP) PLATFORM=$(PLATFORM) $(FLAGS)
endif
libXEngine_InfoReport.so:
ifeq ($(FLAGS), InstallAll)
cp $(THIRDPART_MODULE_REPORT)/libXEngine_InfoReport.$(FILEEXT) ../XEngine_Release/
else
make -C $(THIRDPART_MODULE_REPORT) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
endif
libXEngine_Verification.so:
ifeq ($(FLAGS), InstallAll)
cp $(THIRDPART_MODULE_VERIFICATION)/libXEngine_Verification.$(FILEEXT) ../XEngine_Release/
else
make -C $(THIRDPART_MODULE_VERIFICATION) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
endif
libXEngine_ModuleConfigure.so:
make -C $(MODULE_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
libXEngine_ModuleProtocol.so:
make -C $(MODULE_PROTOCOL_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
libXEngine_ModuleSession.so:
make -C $(MODULE_SESSION_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
libXEngine_ModuleHelp.so:
make -C $(MODULE_HELP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)
XEngine_ServiceApp.exe:
make -C $(APP_SERVICE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)