Advertisement
arves100

Makefile

Apr 24th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 5.90 KB | None | 0 0
  1. PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)
  2.  
  3. GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
  4. BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
  5. SVN_VERSION = $(shell svnversion -n .)
  6.  
  7. CC = g++
  8.  
  9. INCDIR =
  10. LIBDIR =
  11. BINDIR = ..
  12. OBJDIR = OBJDIR
  13. $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)
  14.  
  15. # Standard Setting
  16. LIBS = -pthread -lm -lmd
  17. # Removed -fno-rtti
  18. CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_
  19.  
  20. ifeq ($(GCC_VERSION), 4)
  21. CFLAGS += -mtune=i686 -fstack-protector-all
  22. else
  23. CFLAGS += -mcpu=i686
  24. endif
  25.  
  26. # boost
  27. INCDIR += -I../../../Extern/include/boost
  28.  
  29. # DevIL
  30. INCDIR += -I../../libdevil
  31. LIBDIR += -L../../libdevil
  32. LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg
  33.  
  34. # MySQL
  35. ifeq ($(BSD_VERSION), 7)
  36. INCDIR += -I../../libmysql/7.x-5.1.35
  37. LIBDIR += -L../../libmysql/7.x-5.1.35
  38. else
  39. INCDIR += -I../../libmysql/5.x-5.1.35
  40. LIBDIR += -L../../libmysql/5.x-5.1.35
  41. endif
  42.  
  43. LIBS += -lmysqlclient -lz
  44.  
  45. # Miscellaneous external libraries
  46. INCDIR += -I../../../Extern/include
  47. LIBDIR += -L../../../Extern/lib
  48. LIBS += -lcryptopp -lgtest
  49.  
  50. # HackShield
  51. INCDIR += -I../../libhackshield/include
  52. LIBDIR += -L../../libhackshield/lib
  53. LIBS += -lanticpxsvr
  54.  
  55. # XTrap
  56. INCDIR += -I../../libxtrap/include
  57.  
  58. # openssl
  59. #INCDIR += -I/usr/include
  60. #LIBS += -lssl
  61. #LIBS += /usr/lib/libssl.a
  62.  
  63. # Project Library
  64. INCDIR += -I../../liblua/include
  65. INCDIR += -I/usr/local/include
  66. INCDIR += -I../../libserverkey
  67. LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib -L../../libserverkey
  68. LIBDIR += -L/usr/local/lib
  69. LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lserverkey
  70. USE_STACKTRACE = 0
  71. ifeq ($(USE_STACKTRACE), 1)
  72. LIBS += /usr/local/lib/libexecinfo.a
  73. endif
  74.  
  75. TARGET  = $(BINDIR)/game_r$(SVN_VERSION)_$(PLATFORM)
  76.  
  77. CFILE   = minilzo.c
  78.  
  79. CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
  80.           arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
  81.           char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
  82.           char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
  83.           cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
  84.           desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
  85.           entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
  86.           guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
  87.           input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
  88.           item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
  89.           locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
  90.           messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
  91.           party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
  92.           questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
  93.           questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
  94.           questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
  95.           questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
  96.           questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
  97.           refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
  98.           skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
  99.           wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
  100.           BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp\
  101.           HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp\
  102.           SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp\
  103.           auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp\
  104.           buff_on_attributes.cpp check_server.cpp dragon_soul_table.cpp DragonSoul.cpp\
  105.           group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp\
  106.           shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp
  107.  
  108.  
  109. COBJS   = $(CFILE:%.c=$(OBJDIR)/%.o)
  110. CPPOBJS = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)
  111.  
  112. MAINOBJ = $(OBJDIR)/main.o
  113. MAINCPP = main.cpp
  114.  
  115. TESTOBJ = $(OBJDIR)/test.o
  116. TESTCPP = test.cpp
  117. TEST_TARGET = $(BINDIR)/test
  118.  
  119. default: $(TARGET) $(TEST_TARGET)
  120.  
  121. $(OBJDIR)/minilzo.o: minilzo.c
  122.     @$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
  123.     @echo compile $<
  124.  
  125. $(OBJDIR)/version.o: version.cpp
  126.     @$(CC) $(CFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__SVN_VERSION__=\"$(SVN_VERSION)\" -c $< -o $@
  127.     @echo compile $<
  128.  
  129. $(OBJDIR)/%.o: %.cpp
  130.     @echo compile $<
  131.     @$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
  132.  
  133. limit_time:
  134.     @echo update limit time
  135.     @python update_limit_time.py
  136.  
  137. $(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
  138.     @echo linking $(TARGET)....
  139.     @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)
  140.  
  141. $(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
  142.     @echo linking $(TEST_TARGET)
  143.     @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test
  144.  
  145. clean:
  146.     @rm -f $(COBJS) $(CPPOBJS)
  147.     @rm -f $(BINDIR)/game_r* $(BINDIR)/conv
  148.  
  149. tag:
  150.     ctags *.cpp *.h *.c
  151.  
  152. dep:
  153.     makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) $(TESTCPP) 2> /dev/null > Depend
  154.  
  155. sinclude Depend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement