MAKE = gmake
CC = ccache clang++-devel
INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = .obj
DBDIR = /usr/metin2/server/share/bin
GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3 | cut -d'.' -f1)
BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
SVN_VERSION = 40142
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
# TARGET = $(BINDIR)/db_r$(SVN_VERSION)
TARGET = $(BINDIR)/db
CFLAGS = -g -Wall -w -O2 -pipe -fno-rtti -std=c++2b -fno-exceptions -pthread -D_THREAD_SAFE
# Boost
INCDIR += -I../../etc/boost_1_72_0
# Project Library
INCDIR += -I/usr/local/include
LIBS = -lthecore -lsql -lpoly -lgame -lm
LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib
#MySQL
# INCDIR += -I/usr/local/include/mysql
# LIBS += /usr/local/lib/mysql/libmariadbclient.a /usr/lib/libz.a /usr/local/lib/libzstd.a
# MySQL
INCDIR += -I/usr/local/include/mysql/
LIBS += /usr/local/lib/mysql/libmariadbclient.a /usr/lib/libz.a
# OpenSSL
LIBDIR += -L/usr/local/lib
LIBS += -lssl -lcrypto
# OpenSSL
# LIBS += -lssl -lcrypto
SRCS = Config.cpp NetBase.cpp Peer.cpp PeerBase.cpp Main.cpp Lock.cpp DBManager.cpp \
Cache.cpp LoginData.cpp ClientManager.cpp ClientManagerPlayer.cpp ClientManagerLogin.cpp \
ClientManagerBoot.cpp ClientManagerParty.cpp ClientManagerGuild.cpp GuildManager.cpp HB.cpp \
PrivManager.cpp MoneyLog.cpp ItemAwardManager.cpp ClientManagerEventFlag.cpp Marriage.cpp \
Monarch.cpp BlockCountry.cpp ItemIDRangeManager.cpp ClientManagerHorseName.cpp version.cpp \
AuctionManager.cpp ProtoReader.cpp CsvReader.cpp
OBJS = $(SRCS:%.cpp=$(OBJDIR)/%.o)
default: $(TARGET)
$(TARGET): $(OBJS)
@echo linking $(TARGET)....
@$(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(TARGET)
@touch version.cpp
@echo "Moving $(TARGET) to $(DBDIR)"
@mv $(TARGET) $(DBDIR)
@echo "All done! Your db file moved to your server directory."
$(OBJDIR)/%.o: %.cpp
@echo compile $<
@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
$(OBJDIR)/version.o: version.cpp
@$(CC) $(CFLAGS) -D__P4_VERSI -c $< -o $@
@echo compile $<
$(OBJDIR):
@mkdir $(OBJDIR)
clean:
@rm -f $(OBJS) $(BINDIR)/db_r*
dep:
@touch Depend
makedepend -fDepend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(SRCS) 2> /dev/null
sinclude Depend
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}