include ./../../../linux.mk ROOT := $(realpath $(CURDIR)/../../../..) INC_PATH := -I$(ROOT)/release/inc \ -I$(ROOT)/src/system/inc \ -I$(ROOT)/src/public/libdatacenter/inc \ -I$(ROOT)/src/public/liblog/inc \ -I$(ROOT)/src/public/libfunc/inc \ -I$(ROOT)/src/public/libcmd/inc \ -I$(ROOT)/src/public/libtask/inc \ -I$(ROOT)/src/public/libmy_xxhash/inc \ -I$(ROOT)/src/protocol/libmodbus/inc LIBS := -L$(ROOT)/release/$(BUILD_TYPE)/lib \ -lsystem -lmodbus_m -lmodbus -l60870 \ -ldatacenter -lxml -lcmd -ltask \ -llog -lfunc -lmy_xxhash -lcJSON -lmd5 -lcomm \ -lpthread -lstdc++ O := $(ROOT)/release/$(BUILD_TYPE)/exe/RTU S := $(ROOT)/src/system/RTU/src B := $(CURDIR)/RTU/obj SRCS := $(wildcard $(S)/*.c) OBJS := $(patsubst $(S)/%.c, $(B)/%.o, $(SRCS)) F := $(C_FLAGS) $(INC_PATH) .PHONY: all all: $(O) @echo "[RTU] built -> $(O)" $(O): $(OBJS) @mkdir -p $(dir $@) $(CXX) $^ $(LIBS) -o $@ $(B)/%.o: $(S)/%.c @mkdir -p $(dir $@) $(CC) $(F) -c $< -o $@ .PHONY: clean clean: rm -rf $(B) $(O) .PHONY: rebuild rebuild: clean all