Guest User

Untitled

a guest
Mar 17th, 2020
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. SVN_VERSION = 0.0.2
  2.  
  3. CC = clang++-devel
  4.  
  5. INCDIR =
  6. LIBDIR =
  7. BINDIR = ..
  8. ROBJDIR = release
  9. DOBJDIR = debug
  10. SRV_DIR = /usr/game
  11. $(shell if [ ! -d lib ]; then mkdir lib; fi)
  12. $(shell if [ ! -d $(DOBJDIR) ]; then mkdir $(DOBJDIR); fi)
  13. $(shell if [ ! -d $(ROBJDIR) ]; then mkdir $(ROBJDIR); fi)
  14.  
  15. # Standard Setting
  16. LIBS = -pthread -lm -lmd -llua -llualib
  17. # Removed -fno-rtti
  18. CFLAGS = -Wall -D_THREAD_SAFE -pipe -msse2 -mssse3 -m32 -stdlib=libc++ -std=c++14 -Wno-invalid-source-encoding
  19.  
  20. #debug
  21. CFLAGS_DBG = $(CFLAGS)
  22. CLINKFLAGS_DBG = $(CFLAGS_DBG)
  23. CFLAGS_DBG += -g3 -O1 -ggdb -DNDEBUG -fexceptions
  24. #CLINKFLAGS_DBG += -fstandalone-debug -fsanitize=address
  25.  
  26. #release
  27. CFLAGS_REL = $(CFLAGS)
  28. CLINKFLAGS_REL = $(CFLAGS_REL)
  29. CFLAGS_REL += -Ofast -g0 -DNDEBUG -fexceptions
  30. #CLINKFLAGS_REL += -flto
  31.  
  32. # DevIL
  33. LIBS += -lIL -ljpeg
  34.  
  35. LIBDIR += -L/usr/local/lib/mysql
  36. LIBS += -lmysqlclient -lz
  37.  
  38. # Miscellaneous external libraries
  39. #INCDIR += -I../../../External/cryptopp
  40. #LIBDIR += -L../../../External/cryptopp
  41. LIBS += -lcryptopp -lgtest
  42.  
  43. # openssl
  44. INCDIR += -I/usr/include
  45. LIBS += -lssl
  46. LIBS += /usr/lib/libssl.a
  47.  
  48. # Project Library
  49. INCDIR += -I/usr/local/include -I../../../Internal
  50. INCDIR += -I/usr/local/include
  51. LIBDIR += -L../../libthecore/lib -L../../libpoly/lib -L../../libsql/lib -L../../libgame/lib -L../../liblua/lib
  52. LIBDIR += -L/usr/local/lib
  53. LIBS += -lthecore -lpoly -lsql -lgame -llzo2
  54. USE_STACKTRACE = 0
  55. ifeq ($(USE_STACKTRACE), 1)
  56. LIBS += /usr/local/lib/libexecinfo.a
  57. endif
  58.  
  59. DTARGET = $(BINDIR)/game_r$(SVN_VERSION)_debug
  60. RTARGET = $(BINDIR)/game_r$(SVN_VERSION)_release
  61.  
  62. CPPFILES := $(wildcard *.cpp)
  63. OBJ_DBG_FILES := $(addprefix debug/,$(notdir $(CPPFILES:.cpp=.o)))
  64. OBJ_REL_FILES := $(addprefix release/,$(notdir $(CPPFILES:.cpp=.o)))
  65.  
  66. DCPPOBJS = $(CPPFILE:%.cpp=$(DOBJDIR)/%.o)
  67. RCPPOBJS = $(CPPFILE:%.cpp=$(ROBJDIR)/%.o)
  68.  
  69. default: $(DTARGET) $(RTARGET)
  70.  
  71. debug: $(DTARGET)
  72.  
  73. release: $(RTARGET)
  74.  
  75. $(DOBJDIR)/%.o: %.cpp
  76. @echo $(CC) $(CFLAGS_DBG) $(INCDIR) -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
  77. @$(CC) $(CFLAGS_DBG) $(INCDIR) -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
  78. $(ROBJDIR)/%.o: %.cpp
  79. @echo $(CC) $(CFLAGS_REL) $(INCDIR) -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
  80. @$(CC) $(CFLAGS_REL) $(INCDIR) -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
  81.  
  82. locale_string:
  83. rm -rf locale_string.txt
  84. @python build_locale_string.py
  85. clear
  86.  
  87. $(DTARGET): $(OBJ_DBG_FILES)
  88. @echo $(CC) $(CLINKFLAGS_DBG) $(LIBDIR) $(LIBS) -o $(DTARGET)
  89. @$(CC) $(CLINKFLAGS_DBG) $(LIBDIR) $(OBJ_DBG_FILES) $(LIBS) -o $(DTARGET)
  90.  
  91. $(RTARGET): $(OBJ_REL_FILES)
  92. @echo $(CC) $(CLINKFLAGS_REL) $(LIBDIR) $(LIBS) -o $(RTARGET)
  93. @$(CC) $(CLINKFLAGS_REL) $(LIBDIR) $(OBJ_REL_FILES) $(LIBS) -o $(RTARGET)
  94.  
  95.  
  96. clean:
  97. @rm -f debug/*
  98. @rm -f release/*
  99. @rm -f $(BINDIR)/game_r* $(BINDIR)/conv
  100.  
  101. tag:
  102. ctags *.cpp *.h *.c
  103.  
  104. dep:
  105. makedepend -f Depend $(INCDIR) -I/usr/local/include/c++/v1 -I/usr/include/c++/v1 -prelease/ $(CPPFILE) 2> /dev/null > Depend
  106.  
  107. install_dbg: $(DTARGET)
  108. rm -rf $(SRV_DIR)/share/game
  109. cp $(DTARGET) $(SRV_DIR)/share/game
  110.  
  111. install_rel: $(RTARGET)
  112. rm -rf $(SRV_DIR)/share/game
  113. cp $(RTARGET) $(SRV_DIR)/share/game
  114.  
  115.  
  116. sinclude Depend
Advertisement
Add Comment
Please, Sign In to add comment