include ./../../../linux.mk
L := $(notdir $(realpath $(CURDIR)/..))
M := libcom_router
O := $(LIB_REL)/$(M).a
S := $(SRC_ROOT_DIR)/$(L)/libcom_router/src
I := -I$(SRC_ROOT_DIR)/$(L)/libcom_router/inc -I$(SRC_ROOT_DIR)/$(L)/inc \
     -I$(SRC_ROOT_DIR)/public/libdatacenter/inc -I$(SRC_ROOT_DIR)/public/liblog/inc \
     -I$(SRC_ROOT_DIR)/public/libfunc/inc -I$(SRC_ROOT_DIR)/public/libcJSON/inc \
     -I$(SRC_ROOT_DIR)/public/libtask/inc -I$(SRC_ROOT_DIR)/public/libcomm/inc \
     -I$(SRC_ROOT_DIR)/protocol/libicp67/inc
B := $(CURDIR)/$(M)/obj
SRCS := $(wildcard $(S)/*.cpp)
OBJS := $(patsubst $(S)/%.cpp, $(B)/%.o, $(SRCS))
F := $(CXX_FLAGS) $(I)

.PHONY: all
all:
	@mkdir -p $(ROOT_DIR)/release/inc
	@$(MAKE) $(O)

$(O): $(OBJS)
	@mkdir -p $(dir $@)
	$(AR) rcs $@ $^
	@echo "[$(M)] built"

$(B)/%.o: $(S)/%.cpp
	@mkdir -p $(dir $@)
	$(CXX) $(F) -c $< -o $@

.PHONY: clean
clean:
	rm -rf $(B) $(O)

.PHONY: rebuild
rebuild: clean all
