summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in139
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)