Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. CC = g++6
  2.  
  3. DB_VERSION = $(shell cat ../../__REVISION__)
  4.  
  5. INCDIR =
  6. LIBDIR =
  7. BINDIR = ..
  8. OBJDIR = .obj
  9. $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
  10.  
  11. # LIST_OF_CONSTANTS BEGIN
  12. ENABLE_GCC_AUTODEPEND = 1
  13. ENABLE_STATIC = 0
  14. # LIST_OF_CONSTANTS END
  15.  
  16. # Depend Path File
  17. ifneq ($(ENABLE_GCC_AUTODEPEND), 1)
  18. DEPFILE = Depend
  19. endif
  20.  
  21. # Project Flags
  22. CFLAGS = -m32 -g -Wall -O2 -pipe -fno-rtti -fno-exceptions -Wno-long-long -pthread -D_THREAD_SAFE
  23. CFLAGS += -Wno-deprecated-declarations -Wno-nonnull-compare -Wno-deprecated-declarations -Wno-array-bounds -Wno-address
  24. CXXFLAGS = -std=c++11 -Wl,-rpath=/usr/local/lib/gcc6
  25.  
  26. ifeq ($(ENABLE_STATIC), 1)
  27. CFLAGS += -static
  28. endif
  29.  
  30. # Version defines
  31. CFLAGS += -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__DB_VERSION__=\"$(DB_VERSION)\"
  32.  
  33. # Boost
  34. INCDIR += -I../../../Extern/include/boost
  35.  
  36. # MySQL
  37. INCDIR += -I/usr/local/include/mysql
  38. LIBS += /usr/local/lib/mysql/libmysqlclient.a /usr/lib/libz.a
  39.  
  40. # Project Libraries
  41. INCDIR += -I/usr/local/include
  42. INCDIR += -I../../../Extern/include
  43. LIBDIR += -I../../../Extern/lib
  44.  
  45. LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib
  46. LIBS += -lthecore -lsql -lpoly -lgame -lm
  47.  
  48. # OpenSSL
  49. LIBS += -lssl -lcrypto
  50.  
  51. # PROJECT_SRC_FILES BEGIN
  52. CPPFILE = Config.cpp NetBase.cpp Peer.cpp PeerBase.cpp Main.cpp Lock.cpp DBManager.cpp \
  53. Cache.cpp LoginData.cpp ClientManager.cpp ClientManagerPlayer.cpp ClientManagerLogin.cpp \
  54. ClientManagerBoot.cpp ClientManagerParty.cpp ClientManagerGuild.cpp GuildManager.cpp HB.cpp \
  55. PrivManager.cpp MoneyLog.cpp ItemAwardManager.cpp ClientManagerEventFlag.cpp Marriage.cpp \
  56. Monarch.cpp BlockCountry.cpp ItemIDRangeManager.cpp ClientManagerHorseName.cpp version.cpp \
  57. AuctionManager.cpp ProtoReader.cpp CsvReader.cpp
  58. # PROJECT_SRC_FILES END
  59.  
  60. # PROJECT_OBJ_FILES BEGIN
  61. CPPOBJS = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)
  62. ifeq ($(ENABLE_GCC_AUTODEPEND), 1)
  63. CPPDEPS = $(CPPOBJS:%.o=%.d)
  64. endif
  65. # PROJECT_OBJ_FILES END
  66.  
  67. # Target Paths
  68. MAIN_TARGET = $(BINDIR)/db_r$(DB_VERSION)
  69.  
  70. default: $(MAIN_TARGET)
  71.  
  72. $(MAIN_TARGET): $(CPPOBJS)
  73. @echo linking $(MAIN_TARGET)
  74. @$(CC) $(CFLAGS) $(CXXFLAGS) $(LIBDIR) $(CPPOBJS) $(LIBS) -o $(MAIN_TARGET)
  75.  
  76. $(OBJDIR)/%.o: %.cpp
  77. @echo compiling $<
  78. @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@
  79. ifeq ($(ENABLE_GCC_AUTODEPEND), 1)
  80. @$(CC) -MM -MG -MP $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $(OBJDIR)/$*.d
  81. @sed -i '' -e's/$*.o:/$(OBJDIR)\/$*.o:/g' $(OBJDIR)/$*.d
  82. endif
  83.  
  84. $(OBJDIR):
  85. @mkdir $(OBJDIR)
  86.  
  87. symlink:
  88. @ln -fs db_r$(DB_VERSION) $(BINDIR)/db_symlink
  89.  
  90. strip:
  91. @cp $(BINDIR)/db_r$(DB_VERSION) $(BINDIR)/db_r
  92. @strip $(BINDIR)/db_r
  93.  
  94. clean:
  95. @rm -f $(CPPOBJS) $(BINDIR)/db_r*
  96.  
  97. dep:
  98. @touch Depend
  99. makedepend -fDepend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(SRCS) 2> /dev/null
  100.  
  101. sinclude Depend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement