summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile498
1 files changed, 249 insertions, 249 deletions
diff --git a/Makefile b/Makefile
index 2135a0f67..f1f292cea 100644
--- a/Makefile
+++ b/Makefile
@@ -1,249 +1,249 @@
-
-CACHED = $(shell ls | grep Makefile.cache)
-ifeq ($(findstring Makefile.cache,$(CACHED)), Makefile.cache)
-MKDEF = $(shell cat Makefile.cache)
-else
-
-CC = gcc -pipe
-# CC = g++ --pipe
-
-MAKE = make
-# MAKE = gmake
-
-OPT = -g
-OPT += -O2
-# OPT += -O3
-# OPT += -mmmx
-# OPT += -msse
-# OPT += -msse2
-# OPT += -msse3
-# OPT += -rdynamic
-OPT += -ffast-math
-# OPT += -fbounds-checking
-# OPT += -fstack-protector
-# OPT += -fomit-frame-pointer
-OPT += -Wall -Wno-sign-compare
-# Uncomment this one if you are using GCC 4.X
-# OPT += -Wno-unused-parameter -Wno-pointer-sign
-# Makes map-wide script variables be saved to SQL instead of TXT files.
-# OPT += -DMAPREGSQL
-# Turbo is an alternate socket access implementation which should be faster.
-# DO NOT ENABLE YET as it isn't quite ready for general usage.
-# OPT += -DTURBO
-# Enable the perl regular expression support for scripts
-# OPT += -DPCRE_SUPPORT
-# OPT += -DGCOLLECT
-# OPT += -DMEMWATCH
-# OPT += -DDMALLOC -DDMALLOC_FUNC_CHECK
-# OPT += -DBCHECK
-
-# LIBS += -lgc
-# LIBS += -ldmalloc
-# LIBS += -L/usr/local/lib -lpcre
-
-PLATFORM = $(shell uname)
-
-ifeq ($(findstring Linux,$(PLATFORM)), Linux)
- LIBS += -ldl
-endif
-
-ifeq ($(findstring SunOS,$(PLATFORM)), SunOS)
- LIBS += -lsocket -lnsl -ldl
- MAKE = gmake
-endif
-
-ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD)
- MAKE = gmake
- OS_TYPE = -D__FREEBSD__
-endif
-
-ifeq ($(findstring NetBSD,$(PLATFORM)), NetBSD)
- MAKE = gmake
- OS_TYPE = -D__NETBSD__
-endif
-
-ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
- OPT += -DFD_SETSIZE=4096
- ifeq ($(findstring mingw,$(shell gcc --version)), mingw)
- IS_MINGW = 1
- OS_TYPE = -DMINGW
- LIBS += -L../.. -lwsock32
- else
- OS_TYPE = -DCYGWIN
- endif
-endif
-
-CFLAGS = $(OPT) -I../common $(OS_TYPE)
-
-ifdef SQLFLAG
- ifdef IS_MINGW
- CFLAGS += -I../mysql
- LIBS += -lmysql
- else
- MYSQLFLAG_CONFIG = $(shell which mysql_config)
- ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /)
- MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::)
- ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5)
- MYSQLFLAG_CONFIG_ARGUMENT = --include
- else
- MYSQLFLAG_CONFIG_ARGUMENT = --cflags
- endif
- CFLAGS += $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT))
- LIBS += $(shell $(MYSQLFLAG_CONFIG) --libs)
- else
- CFLAGS += -I/usr/local/include/mysql
- LIBS += -L/usr/local/lib/mysql -lmysqlclient
- endif
- endif
-endif
-
-ifneq ($(findstring -lz,$(LIBS)), -lz)
- LIBS += -lz
-endif
-ifneq ($(findstring -lm,$(LIBS)), -lm)
- LIBS += -lm
-endif
-
-MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" LIB_S="$(LIBS)"
-
-endif
-
-.PHONY: txt sql common login login_sql char char_sql map map_sql ladmin converters \
- addons plugins tools webserver clean zlib depend
-
-txt : Makefile.cache conf common login char map ladmin
-
-ifdef SQLFLAG
-sql: Makefile.cache conf common login_sql char_sql map_sql
-else
-sql:
- $(MAKE) SQLFLAG=1 $@
-endif
-
-conf:
- cp -r conf-tmpl conf
- rm -rf conf/.svn conf/*/.svn
- cp -r save-tmpl save
- rm -rf save/.svn
-
-common: src/common/GNUmakefile
- $(MAKE) -C src/$@ $(MKDEF)
-
-login: src/login/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF) txt
-
-char: src/char/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF) txt
-
-map: src/map/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF) txt
-
-login_sql: src/login_sql/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF) sql
-
-char_sql: src/char_sql/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF) sql
-
-map_sql: src/map/GNUmakefile common
- $(MAKE) -C src/map $(MKDEF) sql
-
-ladmin: src/ladmin/GNUmakefile common
- $(MAKE) -C src/$@ $(MKDEF)
-
-plugins addons: src/plugins/GNUmakefile common
- $(MAKE) -C src/plugins $(MKDEF)
-
-webserver:
- $(MAKE) -C src/$@ $(MKDEF)
-
-tools:
- $(MAKE) -C src/tool $(MKDEF)
-
-ifdef SQLFLAG
-converters: src/txt-converter/GNUmakefile common
- $(MAKE) -C src/txt-converter $(MKDEF)
-else
-converters:
- $(MAKE) SQLFLAG=1 $@
-endif
-
-zlib:
- $(MAKE) -C src/$@ $(MKDEF)
-
-clean: src/common/GNUmakefile src/login/GNUmakefile src/login_sql/GNUmakefile \
- src/char/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile \
- src/ladmin/GNUmakefile src/plugins/GNUmakefile src/txt-converter/GNUmakefile
- rm -f Makefile.cache
- $(MAKE) -C src/common $@
- $(MAKE) -C src/login $@
- $(MAKE) -C src/login_sql $@
- $(MAKE) -C src/char $@
- $(MAKE) -C src/char_sql $@
- $(MAKE) -C src/map $@
- $(MAKE) -C src/ladmin $@
- $(MAKE) -C src/plugins $@
- $(MAKE) -C src/zlib $@
- $(MAKE) -C src/txt-converter $@
-
-depend: src/common/GNUmakefile src/login/GNUmakefile src/login_sql/GNUmakefile \
- src/char/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile \
- src/ladmin/GNUmakefile src/plugins/GNUmakefile src/txt-converter/GNUmakefile
- cd src/common; makedepend -fGNUmakefile -pobj/ -Y. *.c; cd ../..;
- cd src/login; makedepend -DTXT_ONLY -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- cd src/login_sql; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- cd src/char; makedepend -DTXT_ONLY -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- cd src/char_sql; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- cd src/map; makedepend -DTXT_ONLY -fGNUmakefile -ptxtobj/ -Y. -Y../common *.c; cd ../..;
- cd src/map; makedepend -fGNUmakefile -a -psqlobj/ -Y. -Y../common *.c; cd ../..;
- cd src/ladmin; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- cd src/txt-converter; makedepend -DTXT_SQL_CONVERT -fGNUmakefile -Y. -Y../common *.c; cd ../..;
- $(MAKE) -C src/plugins $@
-
-Makefile.cache:
- printf "$(subst ",\",$(MKDEF))" > Makefile.cache
-
-src/%/GNUmakefile: src/%/Makefile
- sed -e 's/$$>/$$^/' $< > $@
-
-src/common/GNUmakefile: src/common/Makefile
-src/login/GNUmakefile: src/login/Makefile
-src/login_sql/GNUmakefile: src/login_sql/Makefile
-src/char/GNUmakefile: src/char/Makefile
-src/char_sql/GNUmakefile: src/char_sql/Makefile
-src/map/GNUmakefile: src/map/Makefile
-src/plugins/GNUmakefile: src/plugins/Makefile
-src/ladmin/GNUmakefile: src/ladmin/Makefile
-src/txt-converter/GNUmakefile: src/txt-converter/Makefile
-
-install: conf/%.conf conf/%.txt
- $(shell mkdir -p /opt/eathena/bin/)
- $(shell mkdir -p /opt/eathena/etc/eathena/)
- $(shell mkdir -p /opt/eathena/var/log/eathena/)
- $(shell mv save /opt/eathena/etc/eathena/save)
- $(shell mv db /opt/eathena/etc/eathena/db)
- $(shell mv conf /opt/eathena/etc/eathena/conf)
- $(shell mv npc /opt/eathena/etc/eathena/npc)
- $(shell mv log/* /opt/eathena/var/log/eathena/)
- $(shell cp *-server* /opt/eathena/bin/)
- $(shell cp ladmin /opt/eathena/bin/)
- $(shell ln -s /opt/eathena/etc/eathena/save/ /opt/eathena/bin/)
- $(shell ln -s /opt/eathena/etc/eathena/db/ /opt/eathena/bin/)
- $(shell ln -s /opt/eathena/etc/eathena/conf/ /opt/eathena/bin/)
- $(shell ln -s /opt/eathena/etc/eathena/npc/ /opt/eathena/bin/)
- $(shell ln -s /opt/eathena/var/log/eathena/ /opt/eathena/bin/log)
-
-bin-clean:
- $(shell rm /opt/eathena/bin/login-server*)
- $(shell rm /opt/eathena/bin/char-server*)
- $(shell rm /opt/eathena/bin/map-server*)
- $(shell rm /opt/eathena/bin/ladmin)
-
-uninstall:
- bin-clean
- $(shell rm /opt/eathena/bin/save)
- $(shell rm /opt/eathena/bin/db)
- $(shell rm /opt/eathena/bin/conf)
- $(shell rm /opt/eathena/bin/npc)
- $(shell rm /opt/eathena/bin/log)
- $(shell rm -rf /opt/eathena/etc/eathena)
- $(shell rm -rf /opt/eathena/var/log/eathena)
+
+CACHED = $(shell ls | grep Makefile.cache)
+ifeq ($(findstring Makefile.cache,$(CACHED)), Makefile.cache)
+MKDEF = $(shell cat Makefile.cache)
+else
+
+CC = gcc -pipe
+# CC = g++ --pipe
+
+MAKE = make
+# MAKE = gmake
+
+OPT = -g
+OPT += -O2
+# OPT += -O3
+# OPT += -mmmx
+# OPT += -msse
+# OPT += -msse2
+# OPT += -msse3
+# OPT += -rdynamic
+OPT += -ffast-math
+# OPT += -fbounds-checking
+# OPT += -fstack-protector
+# OPT += -fomit-frame-pointer
+OPT += -Wall -Wno-sign-compare
+# Uncomment this one if you are using GCC 4.X
+# OPT += -Wno-unused-parameter -Wno-pointer-sign
+# Makes map-wide script variables be saved to SQL instead of TXT files.
+# OPT += -DMAPREGSQL
+# Turbo is an alternate socket access implementation which should be faster.
+# DO NOT ENABLE YET as it isn't quite ready for general usage.
+# OPT += -DTURBO
+# Enable the perl regular expression support for scripts
+# OPT += -DPCRE_SUPPORT
+# OPT += -DGCOLLECT
+# OPT += -DMEMWATCH
+# OPT += -DDMALLOC -DDMALLOC_FUNC_CHECK
+# OPT += -DBCHECK
+
+# LIBS += -lgc
+# LIBS += -ldmalloc
+# LIBS += -L/usr/local/lib -lpcre
+
+PLATFORM = $(shell uname)
+
+ifeq ($(findstring Linux,$(PLATFORM)), Linux)
+ LIBS += -ldl
+endif
+
+ifeq ($(findstring SunOS,$(PLATFORM)), SunOS)
+ LIBS += -lsocket -lnsl -ldl
+ MAKE = gmake
+endif
+
+ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD)
+ MAKE = gmake
+ OS_TYPE = -D__FREEBSD__
+endif
+
+ifeq ($(findstring NetBSD,$(PLATFORM)), NetBSD)
+ MAKE = gmake
+ OS_TYPE = -D__NETBSD__
+endif
+
+ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
+ OPT += -DFD_SETSIZE=4096
+ ifeq ($(findstring mingw,$(shell gcc --version)), mingw)
+ IS_MINGW = 1
+ OS_TYPE = -DMINGW
+ LIBS += -L../.. -lwsock32
+ else
+ OS_TYPE = -DCYGWIN
+ endif
+endif
+
+CFLAGS = $(OPT) -I../common $(OS_TYPE)
+
+ifdef SQLFLAG
+ ifdef IS_MINGW
+ CFLAGS += -I../mysql
+ LIBS += -lmysql
+ else
+ MYSQLFLAG_CONFIG = $(shell which mysql_config)
+ ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /)
+ MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::)
+ ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5)
+ MYSQLFLAG_CONFIG_ARGUMENT = --include
+ else
+ MYSQLFLAG_CONFIG_ARGUMENT = --cflags
+ endif
+ CFLAGS += $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT))
+ LIBS += $(shell $(MYSQLFLAG_CONFIG) --libs)
+ else
+ CFLAGS += -I/usr/local/include/mysql
+ LIBS += -L/usr/local/lib/mysql -lmysqlclient
+ endif
+ endif
+endif
+
+ifneq ($(findstring -lz,$(LIBS)), -lz)
+ LIBS += -lz
+endif
+ifneq ($(findstring -lm,$(LIBS)), -lm)
+ LIBS += -lm
+endif
+
+MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)" LIB_S="$(LIBS)"
+
+endif
+
+.PHONY: txt sql common login login_sql char char_sql map map_sql ladmin converters \
+ addons plugins tools webserver clean zlib depend
+
+txt : Makefile.cache conf common login char map ladmin
+
+ifdef SQLFLAG
+sql: Makefile.cache conf common login_sql char_sql map_sql
+else
+sql:
+ $(MAKE) SQLFLAG=1 $@
+endif
+
+conf:
+ cp -r conf-tmpl conf
+ rm -rf conf/.svn conf/*/.svn
+ cp -r save-tmpl save
+ rm -rf save/.svn
+
+common: src/common/GNUmakefile
+ $(MAKE) -C src/$@ $(MKDEF)
+
+login: src/login/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF) txt
+
+char: src/char/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF) txt
+
+map: src/map/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF) txt
+
+login_sql: src/login_sql/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF) sql
+
+char_sql: src/char_sql/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF) sql
+
+map_sql: src/map/GNUmakefile common
+ $(MAKE) -C src/map $(MKDEF) sql
+
+ladmin: src/ladmin/GNUmakefile common
+ $(MAKE) -C src/$@ $(MKDEF)
+
+plugins addons: src/plugins/GNUmakefile common
+ $(MAKE) -C src/plugins $(MKDEF)
+
+webserver:
+ $(MAKE) -C src/$@ $(MKDEF)
+
+tools:
+ $(MAKE) -C src/tool $(MKDEF)
+
+ifdef SQLFLAG
+converters: src/txt-converter/GNUmakefile common
+ $(MAKE) -C src/txt-converter $(MKDEF)
+else
+converters:
+ $(MAKE) SQLFLAG=1 $@
+endif
+
+zlib:
+ $(MAKE) -C src/$@ $(MKDEF)
+
+clean: src/common/GNUmakefile src/login/GNUmakefile src/login_sql/GNUmakefile \
+ src/char/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile \
+ src/ladmin/GNUmakefile src/plugins/GNUmakefile src/txt-converter/GNUmakefile
+ rm -f Makefile.cache
+ $(MAKE) -C src/common $@
+ $(MAKE) -C src/login $@
+ $(MAKE) -C src/login_sql $@
+ $(MAKE) -C src/char $@
+ $(MAKE) -C src/char_sql $@
+ $(MAKE) -C src/map $@
+ $(MAKE) -C src/ladmin $@
+ $(MAKE) -C src/plugins $@
+ $(MAKE) -C src/zlib $@
+ $(MAKE) -C src/txt-converter $@
+
+depend: src/common/GNUmakefile src/login/GNUmakefile src/login_sql/GNUmakefile \
+ src/char/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile \
+ src/ladmin/GNUmakefile src/plugins/GNUmakefile src/txt-converter/GNUmakefile
+ cd src/common; makedepend -fGNUmakefile -pobj/ -Y. *.c; cd ../..;
+ cd src/login; makedepend -DTXT_ONLY -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ cd src/login_sql; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ cd src/char; makedepend -DTXT_ONLY -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ cd src/char_sql; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ cd src/map; makedepend -DTXT_ONLY -fGNUmakefile -ptxtobj/ -Y. -Y../common *.c; cd ../..;
+ cd src/map; makedepend -fGNUmakefile -a -psqlobj/ -Y. -Y../common *.c; cd ../..;
+ cd src/ladmin; makedepend -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ cd src/txt-converter; makedepend -DTXT_SQL_CONVERT -fGNUmakefile -Y. -Y../common *.c; cd ../..;
+ $(MAKE) -C src/plugins $@
+
+Makefile.cache:
+ printf "$(subst ",\",$(MKDEF))" > Makefile.cache
+
+src/%/GNUmakefile: src/%/Makefile
+ sed -e 's/$$>/$$^/' $< > $@
+
+src/common/GNUmakefile: src/common/Makefile
+src/login/GNUmakefile: src/login/Makefile
+src/login_sql/GNUmakefile: src/login_sql/Makefile
+src/char/GNUmakefile: src/char/Makefile
+src/char_sql/GNUmakefile: src/char_sql/Makefile
+src/map/GNUmakefile: src/map/Makefile
+src/plugins/GNUmakefile: src/plugins/Makefile
+src/ladmin/GNUmakefile: src/ladmin/Makefile
+src/txt-converter/GNUmakefile: src/txt-converter/Makefile
+
+install: conf/%.conf conf/%.txt
+ $(shell mkdir -p /opt/eathena/bin/)
+ $(shell mkdir -p /opt/eathena/etc/eathena/)
+ $(shell mkdir -p /opt/eathena/var/log/eathena/)
+ $(shell mv save /opt/eathena/etc/eathena/save)
+ $(shell mv db /opt/eathena/etc/eathena/db)
+ $(shell mv conf /opt/eathena/etc/eathena/conf)
+ $(shell mv npc /opt/eathena/etc/eathena/npc)
+ $(shell mv log/* /opt/eathena/var/log/eathena/)
+ $(shell cp *-server* /opt/eathena/bin/)
+ $(shell cp ladmin /opt/eathena/bin/)
+ $(shell ln -s /opt/eathena/etc/eathena/save/ /opt/eathena/bin/)
+ $(shell ln -s /opt/eathena/etc/eathena/db/ /opt/eathena/bin/)
+ $(shell ln -s /opt/eathena/etc/eathena/conf/ /opt/eathena/bin/)
+ $(shell ln -s /opt/eathena/etc/eathena/npc/ /opt/eathena/bin/)
+ $(shell ln -s /opt/eathena/var/log/eathena/ /opt/eathena/bin/log)
+
+bin-clean:
+ $(shell rm /opt/eathena/bin/login-server*)
+ $(shell rm /opt/eathena/bin/char-server*)
+ $(shell rm /opt/eathena/bin/map-server*)
+ $(shell rm /opt/eathena/bin/ladmin)
+
+uninstall:
+ bin-clean
+ $(shell rm /opt/eathena/bin/save)
+ $(shell rm /opt/eathena/bin/db)
+ $(shell rm /opt/eathena/bin/conf)
+ $(shell rm /opt/eathena/bin/npc)
+ $(shell rm /opt/eathena/bin/log)
+ $(shell rm -rf /opt/eathena/etc/eathena)
+ $(shell rm -rf /opt/eathena/var/log/eathena)