summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-26 22:36:30 +0000
committerFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-26 22:36:30 +0000
commit17222f8fdc6cb6f17efe391cbab0c357a5f93081 (patch)
tree5dcafe9c66fec2ae691bda2a4f86237c6ad81c39
parent08bdb8f6123c057475b23c717402cea50b887864 (diff)
downloadhercules-17222f8fdc6cb6f17efe391cbab0c357a5f93081.tar.gz
hercules-17222f8fdc6cb6f17efe391cbab0c357a5f93081.tar.bz2
hercules-17222f8fdc6cb6f17efe391cbab0c357a5f93081.tar.xz
hercules-17222f8fdc6cb6f17efe391cbab0c357a5f93081.zip
* Normalized makefiles:
- 3 sections: variables, public targets, private/support targets - object files always in a *_OBJ variable - header files always in a *_H variable - object files always generated to an obj* subfolder - all Makefiles can be executed individually, calling other makefiles if necessary - generic object targets when possible git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11812 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt11
-rw-r--r--src/char/Makefile.in29
-rw-r--r--src/char_sql/Makefile.in39
-rw-r--r--src/common/Makefile.in57
-rw-r--r--src/ladmin/Makefile.in26
-rw-r--r--src/login/Makefile.in21
-rw-r--r--src/login_sql/Makefile.in23
-rw-r--r--src/map/Makefile.in133
-rw-r--r--src/plugins/Makefile.in34
-rw-r--r--src/tool/Makefile.in14
-rw-r--r--src/txt-converter/Makefile.in58
11 files changed, 230 insertions, 215 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index b0dffd272..937ea74ea 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,8 +4,15 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/11/26
- * Fixed buildin_query_sql using Sql_Query instead of Sql_QueryStr, making
- all %f,%d,... be processed. (fixes bureport:218) [FlavioJS]
+ * Normalized makefiles:
+ - 3 sections: variables, public targets, private/support targets
+ - object files always in a *_OBJ variable
+ - header files always in a *_H variable
+ - object files always generated to an obj* subfolder
+ - all Makefiles can be executed individually, calling other makefiles if necessary
+ - generic object targets when possible
+ * Fixed buildin_query_sql using Sql_Query instead of Sql_QueryStr,
+ wrongly processing all %f,%d,... (fixes bureport:218) [FlavioJS]
* Fixed guild expulsion not working correctly [ultramage]
* Fixed a memory leak in mail_savemessage (src\char_sql\int_mail.c). [FlavioJS]
2007/11/25
diff --git a/src/char/Makefile.in b/src/char/Makefile.in
index 78d2cb2c8..334265819 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -1,3 +1,4 @@
+
COMMON_OBJ = ../common/obj/core.o ../common/obj/socket.o ../common/obj/timer.o \
../common/obj/db.o ../common/obj/plugins.o ../common/obj/lock.o \
../common/obj/malloc.o ../common/obj/showmsg.o ../common/obj/utils.o \
@@ -9,18 +10,22 @@ COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h
../common/strlib.h ../common/grfio.h \
../common/mapindex.h ../common/ers.h
-CHAR_OBJ = char.o inter.o int_party.o int_guild.o int_storage.o int_status.o int_pet.o int_homun.o
+CHAR_OBJ = obj/char.o obj/inter.o obj/int_party.o obj/int_guild.o \
+ obj/int_storage.o obj/int_status.o obj/int_pet.o obj/int_homun.o
+CHAR_H = char.h inter.h int_party.h int_guild.h int_storage.h int_status.h int_pet.h int_homun.h
+
+@SET_MAKE@
#####################################################################
.PHONY : all char-server clean help
all: char-server
-char-server: $(CHAR_OBJ) $(COMMON_OBJ)
+char-server: obj $(CHAR_OBJ) $(COMMON_OBJ)
@CC@ @LDFLAGS@ -o ../../char-server@EXEEXT@ $(CHAR_OBJ) $(COMMON_OBJ) @LIBS@
clean:
- rm -f *.o ../../char-server@EXEEXT@
+ rm -rf *.o obj ../../char-server@EXEEXT@
help:
@echo "possible targets are 'char-server' 'all' 'clean' 'help'"
@@ -31,16 +36,12 @@ help:
#####################################################################
-%.o: %.c
- @CC@ @CFLAGS@ -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
+obj:
+ -mkdir obj
-# DO NOT DELETE
+obj/%.o: %.c $(CHAR_H) $(COMMON_H)
+ @CC@ @CFLAGS@ -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-char.o: char.c char.h inter.h int_pet.h $(COMMON_H)
-inter.o: inter.c inter.h int_party.h int_guild.h int_storage.h int_pet.h char.h $(COMMON_H)
-int_party.o: int_party.c int_party.h inter.h char.h $(COMMON_H)
-int_guild.o: int_guild.c int_guild.h int_storage.h inter.h char.h $(COMMON_H)
-int_storage.o: int_storage.c int_storage.h int_guild.h inter.h char.h $(COMMON_H)
-int_status.o: int_status.c int_status.h char.h $(COMMON_H)
-int_pet.o: int_pet.c int_pet.h inter.h char.h $(COMMON_H)
-int_homun.o: int_homun.c int_homun.h inter.h char.h $(COMMON_H)
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common txt
diff --git a/src/char_sql/Makefile.in b/src/char_sql/Makefile.in
index 685d4286d..8162511d5 100644
--- a/src/char_sql/Makefile.in
+++ b/src/char_sql/Makefile.in
@@ -1,33 +1,41 @@
+
COMMON_OBJ = ../common/obj/core.o ../common/obj/socket.o ../common/obj/timer.o \
../common/obj/db.o ../common/obj/plugins.o ../common/obj/lock.o \
../common/obj/malloc.o ../common/obj/showmsg.o ../common/obj/utils.o \
../common/obj/strlib.o ../common/obj/grfio.o \
- ../common/obj/mapindex.o ../common/obj/ers.o ../common/obj_sql/sql.o
+ ../common/obj/mapindex.o ../common/obj/ers.o
COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h \
../common/version.h ../common/db.h ../common/plugins.h ../common/lock.h \
../common/malloc.h ../common/showmsg.h ../common/utils.h \
../common/strlib.h ../common/grfio.h \
- ../common/mapindex.h ../common/ers.h ../common/sql.h
+ ../common/mapindex.h ../common/ers.h
+
+COMMON_SQL_OBJ = ../common/obj_sql/sql.o
+COMMON_H = ../common/sql.h
-CHAR_OBJ = char.o inter.o int_party.o int_guild.o int_storage.o int_pet.o int_homun.o int_mail.o
+CHAR_OBJ = obj/char.o obj/inter.o obj/int_party.o obj/int_guild.o \
+ obj/int_storage.o obj/int_pet.o obj/int_homun.o obj/int_mail.o
+CHAR_H = char.h inter.h int_party.h int_guild.h int_storage.h int_pet.h int_homun.h int_mail.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- CHAR_SERVER_SQL_DEPENDS=$(CHAR_OBJ) $(COMMON_OBJ)
+ CHAR_SERVER_SQL_DEPENDS=obj $(CHAR_OBJ) $(COMMON_OBJ) $(COMMON_SQL_OBJ)
else
CHAR_SERVER_SQL_DEPENDS=needs_mysql
endif
+@SET_MAKE@
+
#####################################################################
.PHONY : all char-server_sql clean help
all: char-server_sql
char-server_sql: $(CHAR_SERVER_SQL_DEPENDS)
- @CC@ @LDFLAGS@ -o ../../char-server_sql@EXEEXT@ $(CHAR_OBJ) $(COMMON_OBJ) @LIBS@ @MYSQL_LIBS@
+ @CC@ @LDFLAGS@ -o ../../char-server_sql@EXEEXT@ $(CHAR_OBJ) $(COMMON_OBJ) $(COMMON_SQL_OBJ) @LIBS@ @MYSQL_LIBS@
clean:
- rm -f *.o ../../char-server_sql@EXEEXT@
+ rm -rf *.o obj ../../char-server_sql@EXEEXT@
help:
@echo "possible targets are 'char-server_sql' 'all' 'clean' 'help'"
@@ -42,16 +50,15 @@ needs_mysql:
@echo "MySQL not found or disabled by the configure script"
@exit 1
-%.o: %.c
+obj:
+ -mkdir obj
+
+obj/%.o: %.c $(CHAR_H) $(COMMON_H) $(COMMON_SQL_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-# DO NOT DELETE
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common sql
-char.o: char.c char.h $(COMMON_H)
-inter.o: inter.c inter.h int_party.h int_guild.h int_storage.h int_pet.h int_homun.h $(COMMON_H)
-int_party.o: int_party.c int_party.h inter.h $(COMMON_H)
-int_guild.o: int_guild.c int_guild.h inter.h $(COMMON_H)
-int_storage.o: int_storage.c int_storage.h char.h $(COMMON_H)
-int_pet.o: int_pet.c int_pet.h inter.h char.h $(COMMON_H)
-int_homun.o: int_homun.c int_homun.h inter.h char.h $(COMMON_H)
-int_mail.o: int_mail.c int_mail.h inter.h char.h $(COMMON_H) \ No newline at end of file
+../common/obj_sql/%.o:
+ @$(MAKE) -C ../common sql
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index 94f42a956..89bb8a75a 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -1,18 +1,33 @@
+
+COMMON_OBJ = obj/core.o obj/socket.o obj/timer.o obj/db.o obj/plugins.o obj/lock.o \
+ obj/nullpo.o obj/malloc.o obj/showmsg.o obj/strlib.o obj/utils.o \
+ obj/grfio.o obj/mapindex.o obj/ers.o obj/md5calc.o \
+ obj/minicore.o obj/minisocket.o obj/minimalloc.o
+COMMON_H = svnversion.h mmo.h plugin.h version.h \
+ core.h socket.h timer.h db.h plugins.h lock.h \
+ nullpo.h malloc.h showmsg.h strlib.h utils.h \
+ grfio.h mapindex.h ers.h md5calc.h
+
+COMMON_SQL_OBJ = obj_sql/sql.o
+COMMON_SQL_H = sql.h
+
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
ALL_DEPENDS=txt sql
- SQL_DEPENDS=txt obj_sql common_sql
+ SQL_DEPENDS=common common_sql
else
ALL_TARGET=txt
SQL_DEPENDS=needs_mysql
endif
+@SET_MAKE@
+
#####################################################################
.PHONY : all txt sql clean help
all: $(ALL_DEPENDS)
-txt: obj common
+txt: common
sql: $(SQL_DEPENDS)
@@ -39,21 +54,18 @@ obj:
obj_sql:
-mkdir obj_sql
-common: obj/core.o obj/socket.o obj/timer.o obj/db.o obj/plugins.o obj/lock.o \
- obj/nullpo.o obj/malloc.o obj/showmsg.o obj/strlib.o obj/utils.o \
- obj/grfio.o obj/minicore.o obj/minisocket.o obj/minimalloc.o \
- obj/mapindex.o obj/ers.o obj/md5calc.o
+common: obj $(COMMON_OBJ)
-common_sql: obj_sql/sql.o
+common_sql: obj_sql $(COMMON_SQL_OBJ)
-obj/%.o: %.c
+obj/%.o: %.c $(COMMON_H)
@CC@ @CFLAGS@ @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-obj/mini%.o: %.c
+obj/mini%.o: %.c $(COMMON_H)
@CC@ @CFLAGS@ -DMINICORE @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-obj_sql/%.o: %.c
+obj_sql/%.o: %.c $(COMMON_H) $(COMMON_SQL_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
@@ -68,28 +80,3 @@ else
svnversion.h:
@printf "\n" > svnversion.h
endif
-
-obj/minicore.o: core.c core.h
-obj/minisocket.o: socket.c socket.h
-obj/minimalloc.o: malloc.c malloc.h
-
-# DO NOT DELETE
-
-obj/core.o: core.c core.h showmsg.h svnversion.h
-obj/db.o: db.c db.h showmsg.h ers.h
-obj/ers.o: ers.c ers.h cbasetypes.h
-obj/grfio.o: grfio.c grfio.h
-obj/lock.o: lock.c lock.h showmsg.h
-obj/malloc.o: malloc.c malloc.h showmsg.h
-obj/mapindex.o: mapindex.c mapindex.h
-obj/md5calc.o: md5calc.c md5calc.h
-obj/nullpo.o: nullpo.c nullpo.h showmsg.h
-obj/plugins.o: plugins.c plugins.h plugin.h
-obj/showmsg.o: showmsg.c showmsg.h
-obj/socket.o: socket.c socket.h mmo.h showmsg.h plugins.h
-obj/strlib.o: strlib.c strlib.h utils.h
-obj/timer.o: timer.c timer.h showmsg.h
-obj/utils.o: utils.c utils.h malloc.h showmsg.h mmo.h
-obj_sql/sql.o: sql.c sql.h cbasetypes.h malloc.h showmsg.h utils.h
-mmo.h: cbasetypes.h
- @touch mmo.h
diff --git a/src/ladmin/Makefile.in b/src/ladmin/Makefile.in
index f1f7bff23..87cc2ad49 100644
--- a/src/ladmin/Makefile.in
+++ b/src/ladmin/Makefile.in
@@ -1,20 +1,26 @@
+
COMMON_OBJ = ../common/obj/minicore.o ../common/obj/minisocket.o ../common/obj/timer.o \
../common/obj/malloc.o ../common/obj/showmsg.o ../common/obj/strlib.o \
../common/obj/utils.o ../common/obj/md5calc.o
COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h \
../common/version.h ../common/malloc.h ../common/showmsg.h ../common/strlib.h \
- ../common/utils.h ../common/md5calc.h
+ ../common/utils.h ../common/md5calc.h ../common/cbasetypes.h
+
+LADMIN_OBJ = obj/ladmin.o
+LADMIN_H = ladmin.h
+
+@SET_MAKE@
#####################################################################
.PHONY : all ladmin clean help
all: ladmin
-ladmin: ladmin.o $(COMMON_OBJ)
- @CC@ @LDFLAGS@ -o ../../ladmin@EXEEXT@ ladmin.o $(COMMON_OBJ) @LIBS@
+ladmin: obj $(LADMIN_OBJ) $(COMMON_OBJ)
+ @CC@ @LDFLAGS@ -o ../../ladmin@EXEEXT@ $(LADMIN_OBJ) $(COMMON_OBJ) @LIBS@
clean:
- rm -f *.o ../../ladmin@EXEEXT@
+ rm -rf *.o obj ../../ladmin@EXEEXT@
help:
@echo "possible targets are 'ladmin' 'all' 'clean' 'help'"
@@ -25,7 +31,15 @@ help:
#####################################################################
-# DO NOT DELETE
+obj:
+ -mkdir obj
-ladmin.o: ladmin.c ladmin.h $(COMMON_H)
+obj/%.o: %.c $(LADMIN_H) $(COMMON_H)
@CC@ @CFLAGS@ @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
+
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common txt
+
+../common/obj/mini%.o:
+ @$(MAKE) -C ../common txt
diff --git a/src/login/Makefile.in b/src/login/Makefile.in
index c0fdcc8e3..187a3eaf0 100644
--- a/src/login/Makefile.in
+++ b/src/login/Makefile.in
@@ -1,3 +1,4 @@
+
COMMON_OBJ = ../common/obj/core.o ../common/obj/socket.o ../common/obj/timer.o \
../common/obj/db.o ../common/obj/plugins.o ../common/obj/lock.o \
../common/obj/malloc.o ../common/obj/showmsg.o ../common/obj/utils.o \
@@ -9,16 +10,21 @@ COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h
../common/grfio.h ../common/mapindex.h \
../common/ers.h ../common/md5calc.h
+LOGIN_OBJ = obj/login.o
+LOGIN_H = login.h
+
+@SET_MAKE@
+
#####################################################################
.PHONY : all login-server clean help
all: login-server
-login-server: login.o $(COMMON_OBJ)
- @CC@ @LDFLAGS@ -o ../../login-server@EXEEXT@ login.o $(COMMON_OBJ) @LIBS@
+login-server: obj $(LOGIN_OBJ) $(COMMON_OBJ)
+ @CC@ @LDFLAGS@ -o ../../login-server@EXEEXT@ $(LOGIN_OBJ) $(COMMON_OBJ) @LIBS@
clean:
- rm -f *.o ../../login-server@EXEEXT@
+ rm -rf *.o obj ../../login-server@EXEEXT@
help:
@echo "possible targets are 'login-server' 'all' 'clean' 'help'"
@@ -29,7 +35,12 @@ help:
#####################################################################
-# DO NOT DELETE
+obj:
+ -mkdir obj
-login.o: login.c login.h $(COMMON_H)
+obj/%.o: %.c $(LOGIN_H) $(COMMON_H)
@CC@ @CFLAGS@ -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
+
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common sql
diff --git a/src/login_sql/Makefile.in b/src/login_sql/Makefile.in
index d10b49b5f..22a1437b3 100644
--- a/src/login_sql/Makefile.in
+++ b/src/login_sql/Makefile.in
@@ -9,23 +9,28 @@ COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h
../common/grfio.h ../common/mapindex.h \
../common/ers.h ../common/md5calc.h ../common/sql.h
+LOGIN_OBJ = obj/login.o
+LOGIN_H = login.h
+
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- LOGIN_SERVER_SQL_DEPENDS=login.o $(COMMON_OBJ)
+ LOGIN_SERVER_SQL_DEPENDS=obj $(LOGIN_OBJ) $(COMMON_OBJ)
else
LOGIN_SERVER_SQL_DEPENDS=needs_mysql
endif
+@SET_MAKE@
+
#####################################################################
.PHONY : all login-server_sql clean help
all: login-server_sql
login-server_sql: $(LOGIN_SERVER_SQL_DEPENDS)
- @CC@ @LDFLAGS@ -o ../../login-server_sql@EXEEXT@ login.o $(COMMON_OBJ) @LIBS@ @MYSQL_LIBS@
+ @CC@ @LDFLAGS@ -o ../../login-server_sql@EXEEXT@ $(LOGIN_OBJ) $(COMMON_OBJ) @LIBS@ @MYSQL_LIBS@
clean:
- rm -f *.o ../../login-server_sql@EXEEXT@
+ rm -rf *.o obj ../../login-server_sql@EXEEXT@
help:
@echo "possible targets are 'login-server_sql' 'all' 'clean' 'help'"
@@ -40,7 +45,15 @@ needs_mysql:
@echo "MySQL not found or disabled by the configure script"
@exit 1
-# DO NOT DELETE
+obj:
+ -mkdir obj
-login.o: login.c login.h $(COMMON_H)
+obj/%.o: %.c $(LOGIN_H) $(COMMON_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
+
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common sql
+
+../common/obj_sql/%.o:
+ @$(MAKE) -C ../common sql
diff --git a/src/map/Makefile.in b/src/map/Makefile.in
index 1be112d9a..31c0fc3f1 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -1,8 +1,33 @@
+COMMON_OBJ = ../common/obj/core.o ../common/obj/socket.o ../common/obj/timer.o \
+ ../common/obj/db.o ../common/obj/plugins.o ../common/obj/lock.o \
+ ../common/obj/nullpo.o ../common/obj/malloc.o ../common/obj/showmsg.o \
+ ../common/obj/utils.o ../common/obj/strlib.o ../common/obj/grfio.o \
+ ../common/obj/mapindex.o ../common/obj/ers.o
+COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h \
+ ../common/db.h ../common/plugins.h ../common/lock.h \
+ ../common/nullpo.h ../common/malloc.h ../common/showmsg.h \
+ ../common/utils.h ../common/strlib.h ../common/grfio.h \
+ ../common/mapindex.h ../common/ers.h
+
+COMMON_SQL_OBJ = ../common/obj_sql/sql.o
+COMMON_SQL_H = ../common/sql.h
+
+MAP_OBJ = obj/map.o obj/chrif.o obj/clif.o obj/pc.o obj/status.o obj/npc.o \
+ obj/npc_chat.o obj/chat.o obj/path.o obj/itemdb.o obj/mob.o obj/script.o \
+ obj/storage.o obj/skill.o obj/atcommand.o obj/charcommand.o obj/battle.o \
+ obj/intif.o obj/trade.o obj/party.o obj/vending.o obj/guild.o obj/pet.o \
+ obj/log.o obj/mail.o obj/date.o obj/irc.o obj/unit.o obj/mercenary.o
+MAP_H = map.h chrif.h clif.h pc.h status.h npc.h \
+ chat.h itemdb.h mob.h script.h \
+ storage.h skill.h atcommand.h charcommand.h battle.h \
+ intif.h trade.h party.h vending.h guild.h pet.h \
+ log.h mail.h date.h irc.h unit.h mercenary.h
+
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
ALL_DEPENDS=txt sql
- SQL_DEPENDS=obj_sql map-server_sql
+ SQL_DEPENDS=map-server_sql
else
ALL_TARGET=txt
SQL_DEPENDS=needs_mysql
@@ -15,18 +40,19 @@ else
PCRE_CFLAGS=
endif
+@SET_MAKE@
#####################################################################
.PHONY : all txt sql clean help
all: $(ALL_DEPENDS)
-txt: obj_txt map-server
+txt: map-server
sql: $(SQL_DEPENDS)
clean:
- rm -rf *.o ../../map-server@EXEEXT@ ../../map-server_sql@EXEEXT@ obj_txt obj_sql
+ rm -rf *.o obj_txt obj_sql ../../map-server@EXEEXT@ ../../map-server_sql@EXEEXT@
help:
ifeq ($(HAVE_MYSQL),yes)
@@ -46,103 +72,30 @@ needs_mysql:
@echo "MySQL not found or disabled by the configure script"
@exit 1
+# object directories
obj_txt:
-mkdir obj_txt
obj_sql:
-mkdir obj_sql
-COMMON_OBJ = ../common/obj/core.o ../common/obj/socket.o ../common/obj/timer.o \
- ../common/obj/db.o ../common/obj/plugins.o ../common/obj/lock.o \
- ../common/obj/nullpo.o ../common/obj/malloc.o ../common/obj/showmsg.o \
- ../common/obj/utils.o ../common/obj/strlib.o ../common/obj/grfio.o \
- ../common/obj/mapindex.o ../common/obj/ers.o
-
-COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h \
- ../common/db.h ../common/plugins.h ../common/lock.h \
- ../common/nullpo.h ../common/malloc.h ../common/showmsg.h \
- ../common/utils.h ../common/strlib.h ../common/grfio.h \
- ../common/mapindex.h ../common/ers.h
-
-COMMON_SQL_OBJ = $(COMMON_OBJ) ../common/obj_sql/sql.o
-
-COMMON_SQL_H = $(COMMON_H) ../common/sql.h
-
-MAP_OBJ = obj/map.o obj/chrif.o obj/clif.o obj/pc.o obj/status.o obj/npc.o \
- obj/npc_chat.o obj/chat.o obj/path.o obj/itemdb.o obj/mob.o obj/script.o \
- obj/storage.o obj/skill.o obj/atcommand.o obj/charcommand.o obj/battle.o \
- obj/intif.o obj/trade.o obj/party.o obj/vending.o obj/guild.o obj/pet.o \
- obj/log.o obj/mail.o obj/date.o obj/irc.o obj/unit.o obj/mercenary.o
-
-map-server: $(MAP_OBJ:obj/%=obj_txt/%) $(COMMON_OBJ)
+# executables
+map-server: obj_txt $(MAP_OBJ:obj/%=obj_txt/%) $(COMMON_OBJ)
@CC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_OBJ:obj/%=obj_txt/%) $(COMMON_OBJ) @LIBS@ @PCRE_LIBS@
-map-server_sql: $(MAP_OBJ:obj/%=obj_sql/%) $(COMMON_SQL_OBJ)
- @CC@ @LDFLAGS@ -o ../../map-server_sql@EXEEXT@ $(MAP_OBJ:obj/%=obj_sql/%) $(COMMON_SQL_OBJ) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@
+map-server_sql: obj_sql $(MAP_OBJ:obj/%=obj_sql/%) $(COMMON_OBJ) $(COMMON_SQL_OBJ)
+ @CC@ @LDFLAGS@ -o ../../map-server_sql@EXEEXT@ $(MAP_OBJ:obj/%=obj_sql/%) $(COMMON_OBJ) $(COMMON_SQL_OBJ) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@
-obj_txt/%.o: %.c
+# map object files
+obj_txt/%.o: %.c $(MAP_H) $(COMMON_H)
@CC@ @CFLAGS@ $(PCRE_CFLAGS) -DTXT_ONLY @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-obj_sql/%.o: %.c
+obj_sql/%.o: %.c $(MAP_H) $(COMMON_H) $(COMMON_SQL_H)
@CC@ @CFLAGS@ $(PCRE_CFLAGS) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
-# DO NOT DELETE
-
-obj_txt/map.o: map.c map.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h pet.h atcommand.h irc.h $(COMMON_H)
-obj_txt/chrif.o: chrif.c map.h battle.h chrif.h clif.h intif.h pc.h npc.h $(COMMON_H)
-obj_txt/clif.o: clif.c map.h chrif.h clif.h mob.h intif.h pc.h npc.h itemdb.h chat.h script.h storage.h party.h guild.h atcommand.h pet.h charcommand.h irc.h $(COMMON_H)
-obj_txt/pc.o: pc.c map.h clif.h intif.h pc.h npc.h mob.h itemdb.h battle.h skill.h script.h party.h guild.h pet.h trade.h storage.h chat.h vending.h $(COMMON_H)
-obj_txt/status.o: status.c pc.h map.h clif.h status.h mob.h itemdb.h battle.h skill.h script.h pet.h guild.h $(COMMON_H)
-obj_txt/npc.o: npc.c map.h npc.h clif.h pc.h script.h mob.h itemdb.h battle.h $(COMMON_H)
-obj_txt/npc_chat.o: npc_chat.c map.h npc.h clif.h pc.h script.h mob.h itemdb.h battle.h $(COMMON_H)
-obj_txt/chat.o: chat.c map.h clif.h pc.h chat.h $(COMMON_H)
-obj_txt/path.o: path.c map.h battle.h $(COMMON_H)
-obj_txt/itemdb.o: itemdb.c map.h battle.h itemdb.h $(COMMON_H)
-obj_txt/mob.o: mob.c map.h clif.h intif.h pc.h mob.h skill.h battle.h npc.h itemdb.h date.h irc.h $(COMMON_H)
-obj_txt/script.o: script.c itemdb.h map.h pc.h mob.h clif.h intif.h npc.h script.h storage.h skill.h pet.h battle.h log.h irc.h $(COMMON_H)
-obj_txt/storage.o: storage.c itemdb.h pc.h clif.h intif.h storage.h guild.h $(COMMON_H)
-obj_txt/skill.o: skill.c skill.h map.h clif.h pc.h mob.h battle.h itemdb.h script.h date.h $(COMMON_H)
-obj_txt/atcommand.o: atcommand.c atcommand.h itemdb.h pc.h map.h skill.h clif.h mob.h intif.h battle.h storage.h guild.h pet.h log.h $(COMMON_H)
-obj_txt/battle.o: battle.c battle.h skill.h map.h mob.h pc.h pet.h guild.h $(COMMON_H)
-obj_txt/intif.o: intif.c intif.h chrif.h clif.h party.h guild.h storage.h map.h battle.h pet.h $(COMMON_H)
-obj_txt/trade.o: trade.c trade.h clif.h itemdb.h map.h pc.h npc.h $(COMMON_H)
-obj_txt/party.o: party.c party.h clif.h intif.h pc.h map.h battle.h $(COMMON_H)
-obj_txt/vending.o: vending.c vending.h clif.h itemdb.h map.h pc.h irc.h $(COMMON_H)
-obj_txt/guild.o: guild.c guild.h storage.h battle.h clif.h intif.h pc.h npc.h map.h $(COMMON_H)
-obj_txt/pet.o: pet.c pet.h map.h clif.h chrif.h intif.h pc.h itemdb.h battle.h mob.h npc.h script.h $(COMMON_H)
-obj_txt/log.o: log.c log.h map.h $(COMMON_H)
-obj_txt/charcommand.o: charcommand.c charcommand.h itemdb.h pc.h map.h skill.h clif.h mob.h intif.h battle.h storage.h guild.h pet.h log.h $(COMMON_H)
-obj_txt/date.o: date.c date.h $(COMMON_H)
-obj_txt/irc.o: irc.c irc.h map.h pc.h $(COMMON_H)
-obj_txt/unit.o: unit.c unit.h $(COMMON_H)
-obj_txt/mercenary.o: mercenary.c mercenary.h $(COMMON_H)
-
-obj_sql/map.o: map.c map.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h pet.h atcommand.h log.h irc.h $(COMMON_SQL_H)
-obj_sql/chrif.o: chrif.c map.h battle.h chrif.h clif.h intif.h pc.h npc.h $(COMMON_SQL_H)
-obj_sql/clif.o: clif.c map.h chrif.h clif.h mob.h intif.h pc.h npc.h itemdb.h chat.h script.h storage.h party.h guild.h atcommand.h pet.h charcommand.h $(COMMON_SQL_H)
-obj_sql/pc.o: pc.c map.h clif.h intif.h pc.h npc.h mob.h itemdb.h battle.h skill.h script.h party.h guild.h pet.h trade.h storage.h chat.h vending.h log.h $(COMMON_SQL_H)
-obj_sql/status.o: status.c pc.h map.h clif.h status.h mob.h itemdb.h battle.h skill.h script.h pet.h guild.h $(COMMON_SQL_H)
-obj_sql/npc.o: npc.c map.h npc.h clif.h pc.h script.h mob.h itemdb.h battle.h $(COMMON_SQL_H)
-obj_sql/npc_chat.o: npc_chat.c map.h npc.h clif.h pc.h script.h mob.h itemdb.h battle.h $(COMMON_SQL_H)
-obj_sql/chat.o: chat.c map.h clif.h pc.h chat.h $(COMMON_SQL_H)
-obj_sql/path.o: path.c map.h battle.h $(COMMON_SQL_H)
-obj_sql/itemdb.o: itemdb.c map.h battle.h itemdb.h $(COMMON_SQL_H)
-obj_sql/mob.o: mob.c map.h clif.h intif.h pc.h mob.h skill.h battle.h npc.h itemdb.h log.h date.h irc.h $(COMMON_SQL_H)
-obj_sql/script.o: script.c itemdb.h map.h pc.h mob.h clif.h intif.h npc.h script.h storage.h skill.h pet.h battle.h log.h irc.h $(COMMON_SQL_H)
-obj_sql/storage.o: storage.c itemdb.h pc.h clif.h intif.h storage.h guild.h $(COMMON_SQL_H)
-obj_sql/skill.o: skill.c skill.h map.h clif.h pc.h mob.h battle.h itemdb.h script.h log.h date.h $(COMMON_SQL_H)
-obj_sql/atcommand.o: atcommand.c atcommand.h itemdb.h pc.h map.h skill.h clif.h mob.h intif.h battle.h storage.h guild.h pet.h log.h $(COMMON_SQL_H)
-obj_sql/battle.o: battle.c battle.h skill.h map.h mob.h pc.h pet.h guild.h $(COMMON_SQL_H)
-obj_sql/intif.o: intif.c intif.h chrif.h clif.h party.h guild.h storage.h map.h battle.h pet.h $(COMMON_SQL_H)
-obj_sql/trade.o: trade.c trade.h clif.h itemdb.h map.h pc.h npc.h log.h $(COMMON_SQL_H)
-obj_sql/party.o: party.c party.h clif.h intif.h pc.h map.h battle.h $(COMMON_SQL_H)
-obj_sql/vending.o: vending.c vending.h clif.h itemdb.h map.h pc.h log.h irc.h $(COMMON_SQL_H)
-obj_sql/guild.o: guild.c guild.h storage.h battle.h clif.h intif.h pc.h npc.h map.h irc.h $(COMMON_SQL_H)
-obj_sql/pet.o: pet.c pet.h map.h clif.h chrif.h intif.h pc.h itemdb.h battle.h mob.h npc.h script.h $(COMMON_SQL_H)
-obj_sql/mail.o: mail.c mail.h $(COMMON_SQL_H)
-obj_sql/log.o: log.c log.h map.h $(COMMON_SQL_H)
-obj_sql/charcommand.o: charcommand.c charcommand.h itemdb.h pc.h map.h skill.h clif.h mob.h intif.h battle.h storage.h guild.h pet.h log.h $(COMMON_SQL_H)
-obj_sql/date.o: date.c date.h $(COMMON_SQL_H)
-obj_sql/irc.o: irc.c irc.h map.h pc.h $(COMMON_SQL_H)
-obj_sql/unit.o: unit.c unit.h $(COMMON_SQL_H)
-obj_sql/mercenary.o: mercenary.c mercenary.h $(COMMON_SQL_H)
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common txt
+
+../common/obj_sql/%.o:
+ @$(MAKE) -C ../common sql
diff --git a/src/plugins/Makefile.in b/src/plugins/Makefile.in
index 769771aca..00493a7c9 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -1,8 +1,13 @@
-@SET_MAKE@
+
+COMMON_OBJ = ../common/obj/showmsg.o ../common/obj/utils.o ../common/obj/strlib.o \
+ ../common/obj/minimalloc.o
+COMMON_H = ../common/plugin.h ../common/cbasetypes.h \
+ ../common/showmsg.h ../common/utils.h ../common/strlib.h \
+ ../common/malloc.h
PLUGINS = sample sig pid gui upnp console
-COMMON_H = ../common/plugin.h ../common/cbasetypes.h
+@SET_MAKE@
#####################################################################
.PHONY : all $(PLUGINS) clean help
@@ -41,27 +46,18 @@ help:
%@DLLEXT@: %.c
@CC@ @CFLAGS@ @CPPFLAGS@ -shared -o ../../plugins/$@ $<
-sig@DLLEXT@: sig.c
- @$(MAKE) -C ../common txt
- @CC@ @CFLAGS@ @CPPFLAGS@ -shared -o ../../plugins/$@ $< \
- ../common/obj/showmsg.o ../common/obj/utils.o ../common/obj/strlib.o \
- ../common/obj/minimalloc.o
-
gui@DLLEXT@: ../../plugins/gui.conf
upnp@DLLEXT@: ../../plugins/upnp.conf
+sig@DLLEXT@: sig.c $(COMMON_OBJ)
+ @CC@ @CFLAGS@ @CPPFLAGS@ -shared -o ../../plugins/$@ $< $(COMMON_OBJ)
+
../../plugins/%.conf: %.txt
cp -r $< $@
-../../plugins/gui.conf: gui.txt
-../../plugins/upnp.conf: upnp.txt
-
-# DO NOT DELETE
+# missing common object files
+../common/obj/%.o: ../common/%.c $(COMMON_H)
+ @$(MAKE) -C ../common txt
-sample@DLLEXT@: sample.c $(COMMON_H)
-sig@DLLEXT@: sig.c $(COMMON_H)
-pid@DLLEXT@: pid.c $(COMMON_H)
-gui@DLLEXT@: gui.c $(COMMON_H)
-#TODO where is upnp.c? [FlavioJS]
-#upnp@DLLEXT@: upnp.c $(COMMON_H)
-console@DLLEXT@: console.c $(COMMON_H)
+../common/obj/mini%.o: ../common/%.c $(COMMON_H)
+ @$(MAKE) -C ../common txt
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
index 7c0d1e1ee..277ff4c68 100644
--- a/src/tool/Makefile.in
+++ b/src/tool/Makefile.in
@@ -1,3 +1,6 @@
+
+@SET_MAKE@
+
#####################################################################
.PHONY : all adduser convert mapcache clean help
@@ -9,12 +12,12 @@ adduser:
convert:
@CC@ -o ../../tools/convert@EXEEXT@ convert.c
-mapcache:
- @CC@ -c -o grfio.o grfio.c
- @CC@ -o ../../mapcache@EXEEXT@ mapcache.c grfio.o -lz
+mapcache: obj
+ @CC@ -c -o obj/grfio.o grfio.c
+ @CC@ -o ../../mapcache@EXEEXT@ mapcache.c obj/grfio.o -lz
clean:
- rm -rf *.o ../../tools/adduser@EXEEXT@ ../../tools/convert@EXEEXT@ ../../mapcache@EXEEXT@
+ rm -rf *.o obj ../../tools/adduser@EXEEXT@ ../../tools/convert@EXEEXT@ ../../mapcache@EXEEXT@
help:
@echo "possible targets are 'adduser' 'convert' 'mapcache' 'all' 'clean' 'help'"
@@ -26,3 +29,6 @@ help:
@echo "'help' - outputs this message"
#####################################################################
+
+obj:
+ -mkdir obj
diff --git a/src/txt-converter/Makefile.in b/src/txt-converter/Makefile.in
index 31d593743..59d3a6641 100644
--- a/src/txt-converter/Makefile.in
+++ b/src/txt-converter/Makefile.in
@@ -1,25 +1,42 @@
-LOGIN_CONVERTER_OBJ = login-converter.o ../common/obj/minicore.o \
+
+LOGIN_CONVERTER_OBJ = obj_login/login-converter.o ../common/obj/minicore.o \
../common/obj/malloc.o ../common/obj/strlib.o ../common/obj/showmsg.o \
../common/obj/utils.o ../common/obj/ers.o ../common/obj/db.o \
../common/obj_sql/sql.o
-CHAR_CONVERTER_OBJ = char-converter.o ../common/obj/minicore.o \
+LOGIN_CONVERTER_H = ../common/cbasetypes.h ../common/mmo.h ../common/core.h \
+ ../common/malloc.h ../common/strlib.h ../common/showmsg.h \
+ ../common/utils.h ../common/ers.h ../common/db.h \
+ ../common/sql.h
+
+CHAR_CONVERTER_OBJ = obj_char/char-converter.o \
+ obj_char/txt-char.o obj_char/txt-int_pet.o obj_char/txt-int_storage.o obj_char/txt-inter.o \
+ obj_char/txt-int_party.o obj_char/txt-int_guild.o \
+ obj_char/sql-char.o obj_char/sql-int_pet.o obj_char/sql-int_storage.o \
+ obj_char/sql-inter.o obj_char/sql-int_party.o obj_char/sql-int_guild.o \
+ ../common/obj/minicore.o \
../common/obj/malloc.o ../common/obj/strlib.o ../common/obj/showmsg.o \
../common/obj/utils.o ../common/obj/ers.o ../common/obj/mapindex.o \
- ../common/obj_sql/sql.o \
- obj_txt/char.o obj_txt/int_pet.o obj_txt/int_storage.o obj_txt/inter.o \
- obj_txt/int_party.o obj_txt/int_guild.o \
- obj_sql/char.o obj_sql/int_pet.o obj_sql/int_storage.o \
- obj_sql/inter.o obj_sql/int_party.o obj_sql/int_guild.o
+ ../common/obj_sql/sql.o
+CHAR_CONVERTER_H = ../char/char.h ../char/int_pet.h ../char/int_storage.h ../char/inter.h \
+ ../char/int_party.h ../char/int_guild.h \
+ ../char_sql/char.h ../char_sql/int_pet.h ../char_sql/int_storage.h \
+ ../char_sql/inter.h ../char_sql/int_party.h ../char_sql/int_guild.h \
+ ../common/cbasetypes.h ../common/mmo.h ../common/core.h \
+ ../common/malloc.h ../common/strlib.h ../common/showmsg.h \
+ ../common/utils.h ../common/ers.h ../common/mapindex.h \
+ ../common/sql.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- LOGIN_CONVERTER_DEPENDS=$(LOGIN_CONVERTER_OBJ)
- CHAR_CONVERTER_DEPENDS=obj $(CHAR_CONVERTER_OBJ)
+ LOGIN_CONVERTER_DEPENDS=obj_login $(LOGIN_CONVERTER_OBJ)
+ CHAR_CONVERTER_DEPENDS=obj_char $(CHAR_CONVERTER_OBJ)
else
LOGIN_CONVERTER_DEPENDS=needs_mysql
CHAR_CONVERTER_DEPENDS=needs_mysql
endif
+@SET_MAKE@
+
#####################################################################
.PHONY : all login-converter char-converter clean help
@@ -32,7 +49,7 @@ char-converter: $(CHAR_CONVERTER_DEPENDS)
@CC@ @LDFLAGS@ -o ../../tools/char-converter@EXEEXT@ $(CHAR_CONVERTER_OBJ) @LIBS@ @MYSQL_LIBS@
clean:
- rm -rf *.o obj_txt obj_sql ../../tools/login-converter@EXEEXT@ ../../tools/char-converter@EXEEXT@
+ rm -rf *.o obj_login obj_char ../../tools/login-converter@EXEEXT@ ../../tools/char-converter@EXEEXT@
help:
@echo "possible targets are 'login-converter' 'char-converter' 'all' 'clean' 'help'"
@@ -48,21 +65,24 @@ needs_mysql:
@echo "MySQL not found or disabled by the configure script"
@exit 1
-obj:
- -mkdir obj_txt
- -mkdir obj_sql
+obj_login:
+ -mkdir obj_login
+obj_char:
+ -mkdir obj_char
-# DO NOT DELETE
+obj_login/%.o: %.c $(LOGIN_CONVERTER_H)
+ @CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -DTXT_SQL_CONVERT -c $(OUTPUT_OPTION) $<
-%.o: %.c
+obj_char/%.o: %.c $(CHAR_CONVERTER_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -DTXT_SQL_CONVERT -c $(OUTPUT_OPTION) $<
-obj_txt/%.o: ../char/%.c
+obj_char/txt-%.o: ../char/%.c $(CHAR_CONVERTER_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -DTXT_SQL_CONVERT -c $(OUTPUT_OPTION) $<
-obj_sql/%.o: ../char_sql/%.c
+obj_char/sql-%.o: ../char_sql/%.c $(CHAR_CONVERTER_H)
@CC@ @CFLAGS@ @MYSQL_CFLAGS@ @CPPFLAGS@ -DTXT_SQL_CONVERT -c $(OUTPUT_OPTION) $<
-char-converter.o: char-converter.c
-login-converter.o: login-converter.c
+# missing common object files
+../common/obj/%.o:
+ @$(MAKE) -C ../common sql