123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- @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
- 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
- #####################################################################
|