123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- @SET_MAKE@
- HAVE_MYSQL=@HAVE_MYSQL@
- ifeq ($(HAVE_MYSQL),yes)
- ALL_DEPENDS=common_sql login_sql char_sql map_sql tools import
- SQL_DEPENDS=common_sql login_sql char_sql map_sql import
- COMMON_SQL_DEPENDS=mt19937ar libconfig
- LOGIN_SQL_DEPENDS=mt19937ar libconfig common_sql
- CHAR_SQL_DEPENDS=mt19937ar libconfig common_sql
- MAP_SQL_DEPENDS=mt19937ar libconfig common_sql
- CONVERTERS_DEPENDS=common_sql
- else
- ALL_DEPENDS=needs_mysql
- SQL_DEPENDS=needs_mysql
- COMMON_SQL_DEPENDS=needs_mysql
- LOGIN_SQL_DEPENDS=needs_mysql
- CHAR_SQL_DEPENDS=needs_mysql
- MAP_SQL_DEPENDS=needs_mysql
- endif
- #####################################################################
- .PHONY: sql \
- common_sql \
- mt19937ar \
- login_sql \
- char_sql \
- map_sql \
- tools \
- import \
- test \
- clean help
- all: $(ALL_DEPENDS)
- sql: $(SQL_DEPENDS)
- common_sql: $(COMMON_SQL_DEPENDS)
- @$(MAKE) -C src/common sql
- mt19937ar:
- @$(MAKE) -C 3rdparty/mt19937ar
- libconfig:
- @$(MAKE) -C 3rdparty/libconfig
- login_sql: $(LOGIN_SQL_DEPENDS)
- @$(MAKE) -C src/login sql
- char_sql: $(CHAR_SQL_DEPENDS)
- @$(MAKE) -C src/char
- map_sql: $(MAP_SQL_DEPENDS)
- @$(MAKE) -C src/map sql
- tools:
- @$(MAKE) -C src/tool
- test:
- @$(MAKE) -C src/test
- import:
- # 1) create conf/import folder
- # 2) add missing files
- # 3) remove remaining .svn folder
- @echo "building conf/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
- clean:
- @$(MAKE) -C src/common $@
- @$(MAKE) -C 3rdparty/mt19937ar $@
- @$(MAKE) -C 3rdparty/libconfig $@
- @$(MAKE) -C src/login $@
- @$(MAKE) -C src/char $@
- @$(MAKE) -C src/map $@
- @$(MAKE) -C src/tool $@
- @$(MAKE) -C src/test $@
- help:
- @echo "most common targets are 'all' 'sql' 'conf' 'clean' 'help'"
- @echo "possible targets are:"
- @echo "'common_sql' - builds object files used in SQL servers"
- @echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
- @echo "'libconfig' - builds object files of libconfig"
- @echo "'login_sql' - builds login server (SQL version)"
- @echo "'char_sql' - builds char server (SQL version)"
- @echo "'map_sql' - builds map server (SQL version)"
- @echo "'tools' - builds all the tools in src/tools"
- @echo "'import' - builds conf/import folder from the template conf/import-tmpl"
- @echo "'all' - builds all the above targets"
- @echo "'sql' - builds sql servers (targets 'common_sql' 'login_sql' 'char_sql'"
- @echo " 'map_sql' and 'import')"
- @echo "'test' - builds tests"
- @echo "'clean' - cleans builds and objects"
- @echo "'help' - outputs this message"
- #####################################################################
- needs_mysql:
- @echo "MySQL not found or disabled by the configure script"
- @exit 1
- #####################################################################
- # TODO
- install: conf/%.conf conf/%.txt
- $(shell read -p "WARNING: This target does not work properly yet. Press Ctrl+C to cancel or Enter to continue.")
- $(shell mkdir -p /opt/rathena/bin/)
- $(shell mkdir -p /opt/rathena/etc/rathena/)
- $(shell mkdir -p /opt/rathena/var/log/rathena/)
- $(shell mv save /opt/rathena/etc/rathena/save)
- $(shell mv db /opt/rathena/etc/rathena/db)
- $(shell mv conf /opt/rathena/etc/rathena/conf)
- $(shell mv npc /opt/rathena/etc/rathena/npc)
- $(shell mv log/* /opt/rathena/var/log/rathena/)
- $(shell cp *-server* /opt/rathena/bin/)
- $(shell ln -s /opt/rathena/etc/rathena/save/ /opt/rathena/bin/)
- $(shell ln -s /opt/rathena/etc/rathena/db/ /opt/rathena/bin/)
- $(shell ln -s /opt/rathena/etc/rathena/conf/ /opt/rathena/bin/)
- $(shell ln -s /opt/rathena/etc/rathena/npc/ /opt/rathena/bin/)
- $(shell ln -s /opt/rathena/var/log/rathena/ /opt/rathena/bin/log)
- bin-clean:
- $(shell rm /opt/rathena/bin/login-server*)
- $(shell rm /opt/rathena/bin/char-server*)
- $(shell rm /opt/rathena/bin/map-server*)
- uninstall:
- $(shell read -p "WARNING: This target does not work properly yet. Press Ctrl+C to cancel or Enter to continue.")
- bin-clean
- $(shell rm /opt/rathena/bin/save)
- $(shell rm /opt/rathena/bin/db)
- $(shell rm /opt/rathena/bin/conf)
- $(shell rm /opt/rathena/bin/npc)
- $(shell rm /opt/rathena/bin/log)
- $(shell rm -rf /opt/rathena/etc/rathena)
- $(shell rm -rf /opt/rathena/var/log/rathena)
|