You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.9 KiB
Makefile
137 lines
3.9 KiB
Makefile
@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
|
|
|
|
#####################################################################
|