#================================================================================ EXEC_NAME=preProcessor-srv INST_NAME=test DEBUG_LEV=-v1 INSTALL_DIR=/usr/local/bin #================================================================================ INC_DIR=/usr/local/omniORB/include \ /usr/local/zeromq/include/zmq \ /usr/local/tango/include/tango \ /usr/local/boost/include \ ./src LIB_DIR=/usr/local/omniORB/lib \ /usr/local/zeromq/lib \ /usr/local/tango/lib \ /usr/local/boost/lib #================================================================================ CC=g++ CXX_DEBUG_FLAGS=-g -DVERBOSE_DEBUG CXX_RELEASE_FLAGS=-O3 CXX_DEFAULT_FLAGS=-c -Wall -Wextra -std=c++11 -std=gnu++11 LDFLAGS=-Wall -lomniORB4 -lomniDynamic4 -lCOS4 -lomnithread -ltango -llog4tango \ -lboost_thread -lboost_filesystem -lboost_system -lboost_chrono INC_PARM=$(foreach d, $(INC_DIR), -I$d) LIB_PARM=$(foreach d, $(LIB_DIR), -L$d) #================================================================================ SRC_DIR=./src OBJ_DIR=./obj BIN_DIR=./bin #================================================================================ EXECUTABLE=$(BIN_DIR)/$(EXEC_NAME) CPP_FILES=$(wildcard $(SRC_DIR)/*.cpp) OBJ_FILES=$(addprefix $(OBJ_DIR)/,$(notdir $(CPP_FILES:.cpp=.o))) #================================================================================ .PHONY: all all: debug .PHONY: run run: debug $(EXECUTABLE) $(INST_NAME) $(DEBUG_LEV) .PHONY: release release: CXXFLAGS+=$(CXX_RELEASE_FLAGS) $(CXX_DEFAULT_FLAGS) release: $(EXECUTABLE) .PHONY: debug debug: CXXFLAGS+=$(CXX_DEBUG_FLAGS) $(CXX_DEFAULT_FLAGS) debug: $(EXECUTABLE) $(EXECUTABLE): makedir $(OBJ_FILES) $(CC) $(LDFLAGS) $(LIB_PARM) -o $@ $(OBJ_FILES) $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(CC) $(CXXFLAGS) $(INC_PARM) -o $@ $< .PHONY: makedir makedir: -mkdir -p $(OBJ_DIR) $(BIN_DIR) .PHONY: clean clean: -rm -rf $(OBJ_DIR) $(BIN_DIR) .PHONY: install install: -cp $(EXECUTABLE) $(INSTALL_DIR) .PHONY: echo echo: @echo EXECUTABLE: @echo $(EXECUTABLE) @echo CPP FILES: @echo $(CPP_FILES) @echo OBJ_FILES: @echo $(OBJ_FILES) @echo INC_PARM @echo $(INC_PARM) @echo LIB_PARM @echo $(LIB_PARM)