Advertisement
Guest User

Untitled

a guest
Feb 28th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.93 KB | None | 0 0
  1. ##
  2. ## Makefile
  3. ##
  4.  
  5. #CXXFLAGS += -fno-rtti -fno-enforce-eh-specs -fno-threadsafe-statics
  6. #CXXFLAGS += -fno-enforce-eh-specs -fno-threadsafe-statics
  7. CXXFLAGS += -ggdb -O0 -UNDEBUG
  8. CPPFLAGS += -Wall -Wextra -Wfloat-equal -Wshadow -Wwrite-strings -Winline -Wdisabled-optimization -Wstrict-aliasing=2 -Wpointer-arith -funit-at-a-time -Wno-variadic-macros -pedantic -std=c++98
  9.  
  10. #
  11. LIBS := -lboost_serialization -lpthread -lz
  12. SERVER_LIBS := $(LIBS)
  13. CLIENT_LIBS := $(LIBS) -lreadline -ltermcap
  14.  
  15. DIST_DIR ?= dist
  16. OBJS_DIR ?= objs
  17.  
  18.  
  19. all: $(DIST_DIR)/dnod $(DIST_DIR)/dno $(DIST_DIR)/dno-daemon
  20. doc: $(DIST_DIR)/sprawozdanie.pdf $(DIST_DIR)/sprawozdanie.ps $(DIST_DIR)/html
  21.  
  22.  
  23. ##
  24. ## Object files
  25. ##
  26.  
  27. # server + client
  28. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/application.o
  29. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/config.o
  30. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/main.o
  31. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/strings.o
  32. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/connection.o
  33. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/netmodule.o
  34. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/node.o
  35. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/packet.o
  36. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/query/condition.o
  37. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/query/query.o
  38. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/serialization.o
  39. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/db/impl/Row.o
  40. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/db/impl/Value.o
  41. $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/lib/netio.o
  42.  
  43. # server
  44. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/impl/SimpleDatabaseModule.o
  45. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalCreateTableService.o
  46. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalInsertService.o
  47. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalSelectService.o
  48. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDBService.o
  49. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedCreateTableService.o
  50. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDropTableService.o
  51. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedInsertService.o
  52. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDeleteService.o
  53. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedUpdateService.o
  54. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedLockService.o
  55. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedUnlockService.o
  56. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/EmergencyUnlockService.o
  57. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DBRecoveryService.o
  58. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/storage/impl/Storage.o
  59. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/storage/impl/Table.o
  60. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2c/s2c.o
  61. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/ServerCommunicationModule.o
  62. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/AddNodeOperation.o
  63. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/NeutralRecoveryStrategy.o
  64. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/NeutralRecoveryStrategy.o
  65. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RecoveryStrategy.o
  66. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RemoveNodeOperation.o
  67. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/SurvivalRecoveryStrategy.o
  68. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/SpawnProcessOperation.o
  69. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RecoveryManager.o
  70. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RemasteringCoordinator.o
  71. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/DataAccessCallback.o
  72. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/LockCallback.o
  73. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCallback.o
  74. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCohort.o
  75. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCoordinator.o
  76. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionManager.o
  77. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/serialization.o
  78. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/server.o
  79. $(DIST_DIR)/dnod: $(OBJS_DIR)/server/spawner.o
  80.  
  81. # client
  82. $(DIST_DIR)/dno: $(OBJS_DIR)/client/client-module.o
  83. $(DIST_DIR)/dno: $(OBJS_DIR)/client/client.o
  84. $(DIST_DIR)/dno: $(OBJS_DIR)/client/parser.o
  85. $(DIST_DIR)/dno: $(OBJS_DIR)/lib/threads.o
  86. $(DIST_DIR)/dno: $(OBJS_DIR)/client/serialization.o
  87.  
  88. src/client/parser.cpp src/client/parser.hpp: src/client/parser.y
  89. cd src/client && exec bison parser.y
  90.  
  91.  
  92. ##
  93. ## Dependencies Rules
  94. ##
  95. $(OBJS_DIR)/dependencies.mk: $(shell find src -name \*.'[ch]'pp) src/client/parser.cpp src/client/parser.hpp
  96. @exec mkdir -p $$(dirname $@)
  97. perl make-dep.pl >$@
  98.  
  99. -include $(OBJS_DIR)/dependencies.mk
  100.  
  101.  
  102. ##
  103. ## Build Rules
  104. ##
  105. $(DIST_DIR)/dnod:
  106. @exec mkdir -p $(DIST_DIR)
  107. exec $(CXX) $(LDFLAGS) -o $@ $^ $(SERVER_LIBS)
  108.  
  109. $(DIST_DIR)/dno:
  110. @exec mkdir -p $(DIST_DIR)
  111. exec $(CXX) $(LDFLAGS) -o $@ $^ $(CLIENT_LIBS)
  112.  
  113. $(OBJS_DIR)/%.o: src/%.cpp
  114. @exec mkdir -p $$(dirname $@)
  115. exec $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
  116.  
  117.  
  118. $(DIST_DIR)/dno-daemon: scripts/dno-daemon
  119. @mkdir -p $(DIST_DIR)
  120. exec cp $^ $@
  121. exec chmod 750 $@
  122.  
  123.  
  124. ##
  125. ## Documentation targets
  126. ##
  127. $(DIST_DIR)/%.pdf: doc/%.dvi
  128. cd doc && exec dvipdf ../$< ../$@
  129.  
  130. $(DIST_DIR)/%.ps: doc/%.dvi
  131. cd doc && exec dvips -o ../$@ ../$<
  132.  
  133. doc/%.dvi:: doc/%.tex
  134. cd doc && exec latex -file-line-error -interaction=scrollmode ../$<
  135. cd doc && exec latex -file-line-error -interaction=batchmode ../$<
  136.  
  137. $(DIST_DIR)/html::
  138. cd src && exec doxygen
  139.  
  140.  
  141. ##
  142. ## Maintanance targets
  143. ##
  144. clean::
  145. exec rm -rf -- objs src/client/parser.??*
  146. exec rm -f -- doc/*.aux doc/*.log doc/*.toc doc/*.dvi
  147.  
  148. distclean:: clean
  149. exec rm -rf -- $(DIST_DIR)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement