MAKE = gmake
CC = g++7
INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = .obj
INSTALL_DIR = /usr/game
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)
P4_VERSION = 00001
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
TARGET = $(BINDIR)/db_r$(P4_VERSION)
TARGET_STRIPPED = $(BINDIR)/db_r$(P4_VERSION)_stripped
CFLAGS = -g -Wall -O2 -pipe -fno-rtti -fno-exceptions -pthread -D_THREAD_SAFE
ifeq ($(GCC_VERSION), 4)
CFLAGS += -mtune=i686
else
CFLAGS += -mtune=i686
endif
# boost
INCDIR += -I../../../Extern/include/boost
LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib
LIBDIR += -L/usr/local/lib/mysql
ifeq ($(BSD_VERSION), 7)
INCDIR += -I../../libmysql/7.x-5.1.35
LIBDIR += -L../../libmysql/7.x-5.1.35
else
INCDIR += -I../../libmysql/5.x-5.1.35
LIBDIR += -L../../libmysql/5.x-5.1.35
endif
LIBS = -lthecore -lmysqlclient -lsql -lpoly -lgame -lm -lz
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_STRIPPED)
$(TARGET): $(OBJS)
@EcHo linking ...
@$(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(TARGET)
@touch version.cpp
$(TARGET_STRIPPED): $(OBJS)
@EcHo linking $(TARGET_STRIPPED)....
@$(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(TARGET_STRIPPED)
@strip $(TARGET_STRIPPED)
$(OBJDIR)/%.o: %.cpp
@EcHo compile $<
@$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
$(OBJDIR)/version.o: version.cpp
@$(CC) $(CFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__P4_VERSION__=\"$(P4_VERSION)\" -c $< -o $@
@EcHo compile $<
$(OBJDIR):
@mkdir $(OBJDIR)
clean:
@rm -f $(OBJS) $(BINDIR)/db_r*
install:
rm -rf $(INSTALL_DIR)/share/db
cp $(TARGET_STRIPPED) $(INSTALL_DIR)/share/db
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