summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in136
1 files changed, 84 insertions, 52 deletions
diff --git a/Makefile.in b/Makefile.in
index 5d59a7144..7dfb138f9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,14 +2,13 @@
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
+ 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
@@ -28,6 +27,10 @@ else
PLUGIN_DEPENDS=no_plugins
endif
+MF_TARGETS = Makefile $(addsuffix /Makefile, src/common 3rdparty/mt19937ar \
+ 3rdparty/libconfig src/char src/login src/map src/plugins \
+ src/tool src/test)
+
CC = @CC@
export CC
@@ -42,47 +45,73 @@ export CC
plugins \
import \
test \
- clean help
+ clean \
+ help
all: $(ALL_DEPENDS)
sql: $(SQL_DEPENDS)
-common_sql: $(COMMON_SQL_DEPENDS)
+$(MF_TARGETS): %: %.in
+ @echo " CONFIGURE"
+ @if [ -x config.status ]; then \
+ echo "Reconfiguring with options: $$(./config.status --config)"; \
+ ./config.status; \
+ else \
+ echo "Unable to find a previous config.status. ./configure will be re-run with the default options."; \
+ echo "If you want to use custom options, please press CTRL-C and run ./configure yourself"; \
+ for i in 1 2 3 4 5 6 7 8 9 10; do \
+ printf "\a. "; \
+ sleep 1; \
+ done; \
+ echo ""; \
+ ./configure; \
+ fi;
+
+common_sql: $(COMMON_SQL_DEPENDS) src/common/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/common sql
-mt19937ar:
+mt19937ar: 3rdparty/mt19937ar/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C 3rdparty/mt19937ar
-libconfig:
+libconfig: 3rdparty/libconfig/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C 3rdparty/libconfig
-login_sql: $(LOGIN_SQL_DEPENDS)
+login_sql: $(LOGIN_SQL_DEPENDS) src/login/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/login sql
-char_sql: $(CHAR_SQL_DEPENDS)
+char_sql: $(CHAR_SQL_DEPENDS) src/char/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/char
-map_sql: $(MAP_SQL_DEPENDS)
+map_sql: $(MAP_SQL_DEPENDS) src/map/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/map sql
-tools: $(TOOLS_DEPENDS)
+tools: $(TOOLS_DEPENDS) src/tool/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/tool
-test:
+test: src/test/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/test
-plugins: $(PLUGIN_DEPENDS)
+plugins: $(PLUGIN_DEPENDS) src/plugins/Makefile
+ @echo " MAKE $@"
@$(MAKE) -C src/plugins
-import:
+import: Makefile
@# 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:
+clean: $(MF_TARGETS)
@$(MAKE) -C src/common $@
@$(MAKE) -C 3rdparty/mt19937ar $@
@$(MAKE) -C 3rdparty/libconfig $@
@@ -93,15 +122,18 @@ clean:
@$(MAKE) -C src/tool $@
@$(MAKE) -C src/test $@
-help:
- @echo "most common targets are 'all' 'sql' 'conf' 'clean' 'help'"
+distclean: clean
+ @-rm -f $(MF_TARGETS) config.status config.log
+
+help: Makefile
+ @echo "most common targets are 'all' 'sql' 'clean' 'plugins' '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 "'login_sql' - builds login server"
+ @echo "'char_sql' - builds char server"
+ @echo "'map_sql' - builds map server"
@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"
@@ -109,6 +141,7 @@ help:
@echo " 'map_sql' and 'import')"
@echo "'test' - builds tests"
@echo "'clean' - cleans builds and objects"
+ @echo "'distclean' - cleans files generated by ./configure"
@echo "'help' - outputs this message"
#####################################################################
@@ -124,35 +157,34 @@ no_plugins:
#####################################################################
# 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)
+#install: conf/%.conf conf/%.txt
+# @read -p "WARNING: This target does not work properly yet. Press Ctrl+C to cancel or Enter to continue."
+# @mkdir -p /opt/hercules/bin/
+# @mkdir -p /opt/hercules/etc/hercules/
+# @mkdir -p /opt/hercules/var/log/hercules/
+# @mv save /opt/hercules/etc/hercules/save
+# @mv db /opt/hercules/etc/hercules/db
+# @mv conf /opt/hercules/etc/hercules/conf
+# @mv npc /opt/hercules/etc/hercules/npc
+# @mv log/* /opt/hercules/var/log/hercules/
+# @cp *-server /opt/hercules/bin/
+# @ln -s /opt/hercules/etc/hercules/save/ /opt/hercules/bin/
+# @ln -s /opt/hercules/etc/hercules/db/ /opt/hercules/bin/
+# @ln -s /opt/hercules/etc/hercules/conf/ /opt/hercules/bin/
+# @ln -s /opt/hercules/etc/hercules/npc/ /opt/hercules/bin/
+# @ln -s /opt/hercules/var/log/hercules/ /opt/hercules/bin/log
+
+#bin-clean:
+# @rm /opt/hercules/bin/login-server
+# @rm /opt/hercules/bin/char-server
+# @rm /opt/hercules/bin/map-server
+
+#uninstall: bin-clean
+# @read -p "WARNING: This target does not work properly yet. Press Ctrl+C to cancel or Enter to continue."
+# @rm /opt/hercules/bin/save
+# @rm /opt/hercules/bin/db
+# @rm /opt/hercules/bin/conf
+# @rm /opt/hercules/bin/npc
+# @rm /opt/hercules/bin/log
+# @rm -rf /opt/hercules/etc/hercules
+# @rm -rf /opt/hercules/var/log/hercules