Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##
- ## Makefile
- ##
- #CXXFLAGS += -fno-rtti -fno-enforce-eh-specs -fno-threadsafe-statics
- #CXXFLAGS += -fno-enforce-eh-specs -fno-threadsafe-statics
- CXXFLAGS += -ggdb -O0 -UNDEBUG
- 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
- #
- LIBS := -lboost_serialization -lpthread -lz
- SERVER_LIBS := $(LIBS)
- CLIENT_LIBS := $(LIBS) -lreadline -ltermcap
- DIST_DIR ?= dist
- OBJS_DIR ?= objs
- all: $(DIST_DIR)/dnod $(DIST_DIR)/dno $(DIST_DIR)/dno-daemon
- doc: $(DIST_DIR)/sprawozdanie.pdf $(DIST_DIR)/sprawozdanie.ps $(DIST_DIR)/html
- ##
- ## Object files
- ##
- # server + client
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/application.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/config.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/main.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/strings.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/connection.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/netmodule.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/node.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/net/packet.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/query/condition.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/query/query.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/serialization.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/db/impl/Row.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/common/db/impl/Value.o
- $(DIST_DIR)/dnod $(DIST_DIR)/dno: $(OBJS_DIR)/lib/netio.o
- # server
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/impl/SimpleDatabaseModule.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalCreateTableService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalInsertService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/LocalSelectService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDBService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedCreateTableService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDropTableService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedInsertService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedDeleteService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedUpdateService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedLockService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DisturbedUnlockService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/EmergencyUnlockService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/logic/services/impl/DBRecoveryService.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/storage/impl/Storage.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/db/storage/impl/Table.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2c/s2c.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/ServerCommunicationModule.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/AddNodeOperation.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/NeutralRecoveryStrategy.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/NeutralRecoveryStrategy.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RecoveryStrategy.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RemoveNodeOperation.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/SurvivalRecoveryStrategy.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/SpawnProcessOperation.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RecoveryManager.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/recovery/impl/RemasteringCoordinator.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/DataAccessCallback.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/LockCallback.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCallback.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCohort.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionCoordinator.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/s2s/transaction/impl/TransactionManager.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/serialization.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/server.o
- $(DIST_DIR)/dnod: $(OBJS_DIR)/server/spawner.o
- # client
- $(DIST_DIR)/dno: $(OBJS_DIR)/client/client-module.o
- $(DIST_DIR)/dno: $(OBJS_DIR)/client/client.o
- $(DIST_DIR)/dno: $(OBJS_DIR)/client/parser.o
- $(DIST_DIR)/dno: $(OBJS_DIR)/lib/threads.o
- $(DIST_DIR)/dno: $(OBJS_DIR)/client/serialization.o
- src/client/parser.cpp src/client/parser.hpp: src/client/parser.y
- cd src/client && exec bison parser.y
- ##
- ## Dependencies Rules
- ##
- $(OBJS_DIR)/dependencies.mk: $(shell find src -name \*.'[ch]'pp) src/client/parser.cpp src/client/parser.hpp
- @exec mkdir -p $$(dirname $@)
- perl make-dep.pl >$@
- -include $(OBJS_DIR)/dependencies.mk
- ##
- ## Build Rules
- ##
- $(DIST_DIR)/dnod:
- @exec mkdir -p $(DIST_DIR)
- exec $(CXX) $(LDFLAGS) -o $@ $^ $(SERVER_LIBS)
- $(DIST_DIR)/dno:
- @exec mkdir -p $(DIST_DIR)
- exec $(CXX) $(LDFLAGS) -o $@ $^ $(CLIENT_LIBS)
- $(OBJS_DIR)/%.o: src/%.cpp
- @exec mkdir -p $$(dirname $@)
- exec $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
- $(DIST_DIR)/dno-daemon: scripts/dno-daemon
- @mkdir -p $(DIST_DIR)
- exec cp $^ $@
- exec chmod 750 $@
- ##
- ## Documentation targets
- ##
- $(DIST_DIR)/%.pdf: doc/%.dvi
- cd doc && exec dvipdf ../$< ../$@
- $(DIST_DIR)/%.ps: doc/%.dvi
- cd doc && exec dvips -o ../$@ ../$<
- doc/%.dvi:: doc/%.tex
- cd doc && exec latex -file-line-error -interaction=scrollmode ../$<
- cd doc && exec latex -file-line-error -interaction=batchmode ../$<
- $(DIST_DIR)/html::
- cd src && exec doxygen
- ##
- ## Maintanance targets
- ##
- clean::
- exec rm -rf -- objs src/client/parser.??*
- exec rm -f -- doc/*.aux doc/*.log doc/*.toc doc/*.dvi
- distclean:: clean
- exec rm -rf -- $(DIST_DIR)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement