@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 TOOLS_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 TOOLS_DEPENDS=needs_mysql endif WITH_PLUGINS=@WITH_PLUGINS@ ifeq ($(WITH_PLUGINS),yes) ALL_DEPENDS+=plugins PLUGIN_DEPENDS=common_sql else PLUGIN_DEPENDS=no_plugins endif CC = @CC@ export CC ##################################################################### .PHONY: sql \ common_sql \ mt19937ar \ login_sql \ char_sql \ map_sql \ tools \ plugins \ 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: $(TOOLS_DEPENDS) @$(MAKE) -C src/tool test: @$(MAKE) -C src/test plugins: $(PLUGIN_DEPENDS) @$(MAKE) -C src/plugins import: @# 1) create conf/import folder @# 2) add missing files @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 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/plugins $@ @$(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 no_plugins: @echo "Plugins 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)