1. 1* Search for:
  2. CPPOBJS = $(CPP:%.cpp=$(OBJDIR)/%.o)
  3. 2* Add above:
  4. # ifeq ( $(ENABLE_OFFLINESHOP), 1 )
  5. CPP += new_offlineshop.cpp new_offlineshop_manager.cpp new_offlineshop_safebox.cpp
  6. # endif
  7. /*************************************************** EXAMPLE OF MY MAKEFILE *******************************************/
  8. CC = ccache c++
  9. INCDIR =
  10. LIBDIR =
  11. BINDIR = ..
  12. OBJDIR = .obj
  13. $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
  14. ### CFLAGS
  15. CFLAGS = -w -O3 -ggdb -g -gdwarf -std=c++14 -pipe -mtune=i386 -fstack-protector -m32 -static -D_THREAD_SAFE
  16. ### END
  17. ### LIBS FROM ../EXTERN and LOCAL/INCLUDE
  18. # boost (for boost, you need to install boost from PuTTY. Example: pkg install boost-libs).
  19. INCDIR += -I/usr/local/include
  20. # GSL: Guideline Support Library
  21. INCDIR += -I../../../extern/gsl/include
  22. # cryptopp (if cryptopp doesn't work, you need download src cryptopp 5.6.5 from https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_5_6_5 and recompile with your actually compiller (g++/c++).
  23. INCDIR += -I../../../extern/cryptopp
  24. LIBDIR += -L../../../extern/cryptopp/lib
  25. LIBS += -lcryptopp
  26. # devil (for that, you need to install devIL from PuTTY. Example: pkg install devil).
  27. INCDIR += -I../../../local/include
  28. LIBDIR += -L/usr/local/lib
  29. LIBS += -lil -lpng -ltiff -lmng -llcms -ljpeg -ljbig -llzma
  30. # minilzo
  31. INCDIR += -I../../../extern/minilzo
  32. LIBDIR += -L../../../extern/minilzo/lib
  33. LIBS += -lminilzo -lmd
  34. # mysql
  35. INCDIR += -I../../../extern/mysql/mysql
  36. LIBDIR += -L../../../extern/_library
  37. LIBS += -lmysqlclient -lz -pthread -lm -lssl -lcrypto
  38. ### END
  39. ### LIBS FROM ../SOURCE/LIB
  40. # libgame
  41. INCDIR += -I../../lib/libgame
  42. LIBDIR += -L../../lib/libgame/lib
  43. LIBS += -lgame
  44. # libpoly
  45. INCDIR += -I../../lib/libpoly
  46. LIBDIR += -L../../lib/libpoly/lib
  47. LIBS += -lpoly
  48. # libsql
  49. INCDIR += -I../../lib/libsql
  50. LIBDIR += -L../../lib/libsql/lib
  51. LIBS += -lsql
  52. # libthecore
  53. INCDIR += -I../../lib/libthecore
  54. LIBDIR += -L../../lib/libthecore/lib
  55. LIBS += -lthecore
  56. # lua
  57. INCDIR += -I../../../extern/lua/lua
  58. LIBDIR += -L../../../extern/lua/lib
  59. LIBS += -llua
  60. ### END
  61. CPP = affect.cpp\
  62. ani.cpp\
  63. arena.cpp\
  64. banword.cpp\
  65. battle.cpp\
  66. battle_arena.cpp\
  67. blend_item.cpp\
  68. blue_dragon.cpp\
  69. blue_dragon_binder.cpp\
  70. buff_on_attributes.cpp\
  71. buffer_manager.cpp\
  72. building.cpp\
  73. char.cpp\
  74. char_affect.cpp\
  75. char_battle.cpp\
  76. char_change_empire.cpp\
  77. char_dragonsoul.cpp\
  78. char_horse.cpp\
  79. char_item.cpp\
  80. char_manager.cpp\
  81. char_quickslot.cpp\
  82. char_resist.cpp\
  83. char_skill.cpp\
  84. char_state.cpp\
  85. cmd.cpp\
  86. cmd_emotion.cpp\
  87. cmd_general.cpp\
  88. cmd_gm.cpp\
  89. cmd_oxevent.cpp\
  90. config.cpp\
  91. constants.cpp\
  92. crc32.cpp\
  93. cube.cpp\
  94. db.cpp\
  95. desc.cpp\
  96. desc_client.cpp\
  97. desc_manager.cpp\
  98. desc_p2p.cpp\
  99. dragon_soul_table.cpp\
  100. dragon_lair.cpp\
  101. dragon_soul.cpp\
  102. dungeon.cpp\
  103. entity.cpp\
  104. entity_view.cpp\
  105. event.cpp\
  106. event_queue.cpp\
  107. exchange.cpp\
  108. file_loader.cpp\
  109. fishing.cpp\
  110. fsm.cpp\
  111. gm.cpp\
  112. group_text_parse_tree.cpp\
  113. guild.cpp\
  114. guild_manager.cpp\
  115. guild_war.cpp\
  116. horse_rider.cpp\
  117. horsename_manager.cpp\
  118. input.cpp\
  119. input_auth.cpp\
  120. input_db.cpp\
  121. input_login.cpp\
  122. input_main.cpp\
  123. input_p2p.cpp\
  124. item.cpp\
  125. item_addon.cpp\
  126. item_attribute.cpp\
  127. item_manager.cpp\
  128. item_manager_idrange.cpp\
  129. item_manager_read_tables.cpp\
  130. locale.cpp\
  131. locale_service.cpp\
  132. log.cpp\
  133. login_data.cpp\
  134. lzo_manager.cpp\
  135. main.cpp\
  136. map_location.cpp\
  137. mark_convert.cpp\
  138. mark_image.cpp\
  139. mark_manager.cpp\
  140. marriage.cpp\
  141. messenger_manager.cpp\
  142. mining.cpp\
  143. mob_manager.cpp\
  144. motion.cpp\
  145. ox_event.cpp\
  146. p2p.cpp\
  147. packet_info.cpp\
  148. party.cpp\
  149. pet_system.cpp\
  150. polymorph.cpp\
  151. priv_manager.cpp\
  152. pvp.cpp\
  153. questevent.cpp\
  154. questlua.cpp\
  155. questlua_affect.cpp\
  156. questlua_arena.cpp\
  157. questlua_battle_arena.cpp\
  158. questlua_building.cpp\
  159. questlua_danceevent.cpp\
  160. questlua_dragonlair.cpp\
  161. questlua_dragonsoul.cpp\
  162. questlua_dungeon.cpp\
  163. questlua_game.cpp\
  164. questlua_global.cpp\
  165. questlua_guild.cpp\
  166. questlua_horse.cpp\
  167. questlua_item.cpp\
  168. questlua_marriage.cpp\
  169. questlua_npc.cpp\
  170. questlua_oxevent.cpp\
  171. questlua_party.cpp\
  172. questlua_pc.cpp\
  173. questlua_pet.cpp\
  174. questlua_quest.cpp\
  175. questlua_target.cpp\
  176. questmanager.cpp\
  177. questnpc.cpp\
  178. questpc.cpp\
  179. refine.cpp\
  180. regen.cpp\
  181. safebox.cpp\
  182. sectree.cpp\
  183. sectree_manager.cpp\
  184. shop.cpp\
  185. shop_manager.cpp\
  186. shop_ex.cpp\
  187. skill.cpp\
  188. skill_power.cpp\
  189. start_position.cpp\
  190. target.cpp\
  191. text_file_loader.cpp\
  192. trigger.cpp\
  193. utils.cpp\
  194. vector.cpp\
  195. war_map.cpp\
  196. wedding.cpp\
  197. cipher.cpp\
  198. new_activity.cpp\
  199. new_admin_manager.cpp\
  200. new_aura_system.cpp\
  201. new_auto_event_manager.cpp\
  202. new_char_battle_zodiac.cpp\
  203. new_battle_pass.cpp\
  204. new_biolog_system.cpp\
  205. new_boss_tracking.cpp\
  206. new_char_fakepc.cpp\
  207. new_char_fakebuff.cpp\
  208. new_char_gaya.cpp\
  209. new_cuberenewal.cpp\
  210. new_daily_boss.cpp\
  211. new_damage_top.cpp\
  212. new_input_api.cpp\
  213. new_inventory.cpp\
  214. new_meley_lair.cpp\
  215. new_mount_system.cpp\
  216. new_nearby_scanner.cpp\
  217. new_profile.cpp\
  218. new_pet_system.cpp\
  219. new_questlua_new_pet_system.cpp\
  220. new_questlua_zodiac_temple.cpp\
  221. new_questlua_meley_lair.cpp\
  222. new_reborn_system.cpp\
  223. new_rune_system.cpp\
  224. new_server_maintenance.cpp\
  225. new_switchbot.cpp\
  226. new_snow_flake.cpp\
  227. new_whisper_admin.cpp\
  228. new_zodiac_temple.cpp\
  229. new_zodiac_temple_settings.cpp
  230. # ifeq ( $(ENABLE_OFFLINESHOP), 1 )
  231. CPP += new_offlineshop.cpp new_offlineshop_manager.cpp new_offlineshop_safebox.cpp
  232. # endif
  233. CPPOBJS = $(CPP:%.cpp=$(OBJDIR)/%.o)
  234. GAME_TARGET = $(BINDIR)/game
  235. default: $(GAME_TARGET)
  236. $(OBJDIR)/%.o: %.cpp
  237. @echo -e "\033[0;32m [OK] \033[0m" $<
  238. @$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
  239. $(GAME_TARGET): $(CPPOBJS)
  240. @echo linking $(GAME_TARGET)
  241. @$(CC) $(CFLAGS) $(LIBDIR) $(CPPOBJS) $(LIBS) -o $(GAME_TARGET)
  242. clean:
  243. @rm -f $(CPPOBJS)
  244. @rm -f $(BINDIR)/game* $(BINDIR)/conv
  245. tag:
  246. ctags *.cpp *.h