RTU_ALL_AI/release/src/system/RTU/makefile

46 lines
1.1 KiB
Makefile

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