#================================================================================
EXEC_NAME :=atkcli
INSTALL_DIR=/usr/local/bin
RUN_ARGS :=
INC_DIR=/usr/local/omniORB/include \
	   /usr/local/zeromq/include/zmq \
	   /usr/local/tango/include/tango \
	   ./src
LIB_DIR=/usr/local/omniORB/lib \
	   /usr/local/zeromq/lib \
	   /usr/local/tango/lib
#================================================================================
CC := g++
DEBUGFLAGS := -g 
CXXFLAGS := -c -Wall -Wextra -std=c++0x
LDFLAGS := -Wall -lomniORB4 -lomniDynamic4 -lCOS4 -lomnithread -ltango -llog4tango
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)))
#================================================================================

all: CXXFLAGS += $(DEBUGFLAGS)
all: $(EXECUTABLE)

release: $(EXECUTABLE)
	-strip $(EXECUTABLE)

run: CXXFLAGS += $(DEBUGFLAGS)
run: $(EXECUTABLE)
	$(EXECUTABLE) $(RUN_ARGS)

$(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 "----------------------------------------"
	@echo Source files 
	@echo "----------------------------------------"
	@$(foreach file, $(CPP_FILES), echo "$(file)";) 
	@echo "----------------------------------------"
	@echo Object files 
	@echo "----------------------------------------"
	@$(foreach file, $(OBJ_FILES), echo "$(file)";)
	@echo "----------------------------------------"
	@echo Include paths
	@echo "----------------------------------------"
	@$(foreach parm, $(INC_PARM), echo "$(parm)";)
	@echo "----------------------------------------"
	@echo Linker paths
	@echo "----------------------------------------"
	@$(foreach parm, $(LIB_PARM), echo "$(parm)";)
	@echo "----------------------------------------"

