forked from rathena/rathena
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile.in
136 lines (112 loc) · 3.9 KB
/
Makefile.in
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
@SET_MAKE@
HAVE_MYSQL=@HAVE_MYSQL@
OMAP=@OMAP@
ifeq ($(HAVE_MYSQL),yes)
ALL_DEPENDS=server tools
SERVER_DEPENDS=common login char map web import
COMMON_DEPENDS=libconfig rapidyaml yaml-cpp
LOGIN_DEPENDS=libconfig common
CHAR_DEPENDS=libconfig common rapidyaml
MAP_DEPENDS=libconfig common rapidyaml
WEB_DEPENDS=libconfig common yaml-cpp httplib
else
ALL_DEPENDS=needs_mysql
SERVER_DEPENDS=needs_mysql
COMMON_DEPENDS=needs_mysql
LOGIN_DEPENDS=needs_mysql
CHAR_DEPENDS=needs_mysql
MAP_DEPENDS=needs_mysql
WEB_DEPENDS=needs_mysql
endif
#####################################################################
.PHONY: all server sql \
common \
login \
char \
map \
web \
tools \
import \
clean help \
install uninstall bin-clean \
all: $(ALL_DEPENDS)
sql: $(SERVER_DEPENDS)
@echo "-!- 'make sql' is now deprecated. Please run 'make server' to continue. -!-"
server: $(SERVER_DEPENDS)
common: $(COMMON_DEPENDS)
@$(MAKE) -C src/common server
login: $(LOGIN_DEPENDS)
@$(MAKE) -C src/login server
char: $(CHAR_DEPENDS)
@$(MAKE) -C src/char
map: $(MAP_DEPENDS)
@$(MAKE) -C src/map server
web: $(WEB_DEPENDS)
@$(MAKE) -C src/web server
libconfig:
@$(MAKE) -C 3rdparty/libconfig
tools:
@$(MAKE) -C src/tool
@$(MAKE) -C src/map tools
rapidyaml:
@$(MAKE) -C 3rdparty/rapidyaml
yaml-cpp:
@$(MAKE) -C 3rdparty/yaml-cpp
httplib:
@$(MAKE) -C 3rdparty/httplib
import:
# 1) create conf/import folder
# 2) add missing files
# 3) remove remaining .svn folder
@echo "building conf/import, conf/msg_conf/import and db/import folder..."
@if test ! -d conf/import ; then mkdir conf/import ; fi
@for f in $$(ls conf/import-tmpl) ; do if test ! -e conf/import/$$f ; then cp conf/import-tmpl/$$f conf/import ; fi ; done
@rm -rf conf/import/.svn
@if test ! -d conf/msg_conf/import ; then mkdir conf/msg_conf/import ; fi
@for f in $$(ls conf/msg_conf/import-tmpl) ; do if test ! -e conf/msg_conf/import/$$f ; then cp conf/msg_conf/import-tmpl/$$f conf/msg_conf/import ; fi ; done
@rm -rf conf/msg_conf/import/.svn
@if test ! -d db/import ; then mkdir db/import ; fi
@for f in $$(ls db/import-tmpl) ; do if test ! -e db/import/$$f ; then cp db/import-tmpl/$$f db/import ; fi ; done
@rm -rf db/import/.svn
clean:
@$(MAKE) -C src/common $@
@$(MAKE) -C 3rdparty/libconfig $@
@$(MAKE) -C 3rdparty/rapidyaml $@
@$(MAKE) -C 3rdparty/yaml-cpp $@
@$(MAKE) -C 3rdparty/httplib $@
@$(MAKE) -C src/login $@
@$(MAKE) -C src/char $@
@$(MAKE) -C src/map $@
@$(MAKE) -C src/web $@
@$(MAKE) -C src/tool $@
help:
@echo "most common targets are 'all' 'server' 'conf' 'clean' 'help'"
@echo "possible targets are:"
@echo "'common' - builds object files used for the three servers"
@echo "'libconfig' - builds object files of libconfig"
@echo "'rapidyaml' - builds object files of rapidyaml"
@echo "'yaml-cpp' - builds object files of yaml-cpp"
@echo "'httplib' - builds object files of httplib"
@echo "'login' - builds login server"
@echo "'char' - builds char server"
@echo "'map' - builds map server"
@echo "'web' - builds web server"
@echo "'tools' - builds all the tools in src/tools"
@echo "'import' - builds conf/import, conf/msg_conf/import and db/import folders from their template folders (x-tmpl)"
@echo "'all' - builds all the above targets"
@echo "'server' - builds servers (targets 'common' 'login' 'char' 'map' and 'import')"
@echo "'clean' - cleans builds and objects"
@echo "'install' - run installer which sets up rathena in /opt/"
@echo "'bin-clean' - deletes installed binaries"
@echo "'uninstall' - run uninstaller which erases all installation changes"
@echo "'help' - outputs this message"
needs_mysql:
@echo "MySQL not found or disabled by the configure script"
@exit 1
install:
@sh ./install.sh
bin-clean:
@sh ./uninstall.sh bin
uninstall:
@sh ./uninstall.sh all
#####################################################################