diff options
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 000000000..251a874d1 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,139 @@ +@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) |