Makefile 3.49 KB
XX = g++


PROJECT_ROOT= /data/cmhu/vpt_ascend

DEPEND_DIR = $(PROJECT_ROOT)/bin
SRC_ROOT = $(PROJECT_ROOT)/src

TARGET= $(PROJECT_ROOT)/bin/libvpt_ascend.so

THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty
SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release
# OPENCV_ROOT = $(THIRDPARTY_ROOT)/opencv_4_1
OPENCV_ROOT = $(THIRDPARTY_ROOT)/opencv-4.5.2
JSON_ROOT = $(THIRDPARTY_ROOT)/jsoncpp-1.9.5/release
FFMPEG_ROOT = $(THIRDPARTY_ROOT)/ffmpeg-4.4.4/release
RABBITMQ_CLIENT_ROOT = $(THIRDPARTY_ROOT)/rabbitmq-c-0.11.0/release
BOOST_ROOT = $(THIRDPARTY_ROOT)/boost_1_81_0/release
WEBSOCKETPP_ROOT = $(THIRDPARTY_ROOT)/websocketpp-0.8.2/release/include \

JRTP_ROOT = $(THIRDPARTY_ROOT)/gb28181_3rd/jrtp_export

DEFS = -DENABLE_DVPP_INTERFACE -DWITH_FACE_DET_SS -DPOST_USE_RABBITMQ
# DEFS = -DENABLE_DVPP_INTERFACE -DUSE_VILLAGE   

include_dir=-I/usr/local/Ascend/ascend-toolkit/latest/include \
			-I $(SRC_ROOT)/common \
			-I $(SPDLOG_ROOT)/include \
			-I $(OPENCV_ROOT)/include \
			-I $(JSON_ROOT)/include \
			-I $(FFMPEG_ROOT)/include \
			-I $(RABBITMQ_CLIENT_ROOT)/include \
			-I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
			-I $(SRC_ROOT)/decoder/gb28181/rtp \
			-I $(SRC_ROOT)/decoder/gb28181 \
			-I $(WEBSOCKETPP_ROOT) \
			-I $(BOOST_ROOT)/include \


LIBS= -L $(SPDLOG_ROOT)/lib -l:libspdlog.a \
		-L $(DEPEND_DIR) -lvpt_det -lsycheck -lface_det_vdec \
		-L $(OPENCV_ROOT)/lib -lopencv_world\
		-L $(JSON_ROOT)/lib -l:libjsoncpp.a \
		-L $(FFMPEG_ROOT)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lx264\
		-L $(RABBITMQ_CLIENT_ROOT)/lib/x86_64-linux-gnu -l:librabbitmq.a \
		-L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a \
		-L/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64 -lacl_dvpp -lascendcl \
		-L $(BOOST_ROOT)/lib -lboost_system \



CXXFLAGS= -g -O0 -fPIC $(include_dir) $(LIBS) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -fvisibility=hidden -Wall -Wno-deprecated -Wdeprecated-declarations -Wl,-Bsymbolic -ldl



SRCS:=$(wildcard $(SRC_ROOT)/ai_platform/*.cpp) \
		$(wildcard $(SRC_ROOT)/decoder/interface/*.cpp) \
    	$(wildcard $(SRC_ROOT)/decoder/dvpp/*.cpp) \
		$(wildcard $(SRC_ROOT)/ai_engine_module/sort/*.cpp) \
		$(wildcard $(SRC_ROOT)/ai_engine_module/*.cpp) \
		$(wildcard $(SRC_ROOT)/util/*.cpp) \
		$(wildcard $(SRC_ROOT)/reprocessing_module/*.cpp) \
		$(wildcard $(SRC_ROOT)/reprocessing_module/rbmq/*.cpp) \
		$(wildcard $(SRC_ROOT)/helpers/*.cpp) \

OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS)))


$(TARGET):$(OBJS)
	rm -f $(TARGET)
	$(XX) -shared -o $@ $^ $(CXXFLAGS)
# rm -f *.o

%.o:$(SRC_ROOT)/decoder/dvpp/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/interface/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/ai_platform/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/ai_engine_module/sort/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/ai_engine_module/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/util/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/reprocessing_module/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/reprocessing_module/rbmq/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/gb28181/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/gb28181/rtp/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/gb28181/websocket/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/gb28181/Message/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/decoder/gb28181/tinyxml2/%.cpp
	$(XX) $(CXXFLAGS) -c $<

%.o:$(SRC_ROOT)/helpers/%.cpp
	$(XX) $(CXXFLAGS) -c $<



	
clean:
	rm -f *.o $(TARGET)


cleano:
	rm -f *.o