include ./../../../linux.mk
L := $(notdir $(realpath $(CURDIR)/..))
M := libself_ptl
O := $(LIB_REL)/$(M).a
S := $(SRC_ROOT_DIR)/$(L)/libself_ptl/src
I := -I$(SRC_ROOT_DIR)/$(L)/libself_ptl/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/libxml/inc -I$(SRC_ROOT_DIR)/public/libtask/inc \
     -I$(SRC_ROOT_DIR)/protocol/libicp67/inc
B := $(CURDIR)/$(M)/obj
SRCS := $(wildcard $(S)/*.cpp) $(wildcard $(S)/*.c)
OBJS := $(patsubst $(S)/%.cpp, $(B)/%.o, $(patsubst $(S)/%.c, $(B)/%.o, $(SRCS)))
F := $(CXX_FLAGS) $(I) -Wno-unused-but-set-variable

.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 $@

$(B)/%.o: $(S)/%.c
	@mkdir -p $(dir $@)
	$(CC) $(C_FLAGS) $(I) -c $< -o $@

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

.PHONY: rebuild
rebuild: clean all
