Makefile.qx 3.63 KB
CC = gcc
XX = g++
AR = ar

NVCC = /usr/local/cuda/bin/nvcc

MNT_HOME = /home/cmhu/Project_VideoStructure

PROJECT_ROOT= $(MNT_HOME)/vehicle_structure_platform.git0708-3080-trt-face
DEPEND_DIR = $(MNT_HOME)/Linux_3rdparty
SDK_ROOT = $(MNT_HOME)/SDK

SRC_ROOT = $(PROJECT_ROOT)/src/VPT

UTOOLS_SSD_ROOT = $(DEPEND_DIR)/utools_trt_v1.4.0
HIDE_MODEL_CAFFE2 = $(PROJECT_ROOT)/model/hidemodel_caffe_1108
HIDE_MODEL_TRT = $(PROJECT_ROOT)/model/vptModeTrt
AUTHORITY_DIR = $(DEPEND_DIR)/authority_linux_20200114
TRT_ROOT = $(DEPEND_DIR)/TensorRT-8.6.1.6
OPENCV_ROOT = $(DEPEND_DIR)/opencv-4.5.4/release
FFMPEG_ROOT = $(DEPEND_DIR)/ffmpeg-5.0.1/release

TARGET = $(DEPEND_DIR)/video_structure_sdk_20220512/libmvpt.so

DEFS=-DOS_LINUX -DLOG_INFO2

INCLUDE= -I $(DEPEND_DIR)/include/boost_linux_x86_64/include \
  -I $(DEPEND_DIR)/include \
  -I $(OPENCV_ROOT)/include/opencv4 \
  -I $(OPENCV_ROOT)/include/opencv4/opencv2 \
  -I $(UTOOLS_SSD_ROOT) \
  -I $(SRC_ROOT) \
  -I $(TRT_ROOT)/include \
  -I $(DEPEND_DIR)/include/cairo \
  -I $(SRC_ROOT)/sort \
  -I $(SRC_ROOT)/snapshot_analysis \
  -I $(SRC_ROOT)/../DxDecoder \
  -I /usr/local/cuda/include \
  -I $(HIDE_MODEL_CAFFE2) \
  -I $(HIDE_MODEL_TRT) \
  -I $(AUTHORITY_DIR) \
  -I $(FFMPEG_ROOT)/include \
  -I $(SDK_ROOT)/face_detect2/face_detect \

LIBSPATH= -L ../DxDecoder -l:libDxDecoder.a \
  -L/usr/local/cuda/lib64 -lcuda -lcudart -lcurand -lcublas \
  -L/usr/lib/x86_64-linux-gnu -lnvcuvid \
  -L$(DEPEND_DIR)/video_structure_sdk_20220512 -lSfxDecoder -lSfxStreamHandler -lvpd2 \
  -L$(DEPEND_DIR)/video_structure_sdk_20220512 -lface_detect -lvehicle_brand_cls -lvr_vehicle_type_10cls -lvr5905cls -lvehicle_recognize -lvehicle_color -lhuman_parsing -lhuman_car_parsing -lnon_vehicle_fea_trt -lvehicle_rear_recognition -lvf_int8 -lvp2_yolo\
  -L$(UTOOLS_SSD_ROOT) -l:libutools.so \
  -L$(DEPEND_DIR)/lib -l:liblibjasper.a -l:libIlmImf.a -l:liblibjpeg.a -l:liblibtiff.a -l:liblibpng.a \
  -L $(FFMPEG_ROOT)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \
  -L $(OPENCV_ROOT)/lib  -lopencv_video  -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_imgcodecs\
  -L$(AUTHORITY_DIR) -l:libauthority.a \
  -L $(DEPEND_DIR)/include/boost_linux_x86_64/lib -l:libboost_system.a -l:libboost_thread.a \

   
CFLAGS_LIB=-g -O0 -Wall -Wno-deprecated $(DEFS) -lz -fPIC -fvisibility=hidden -Wl,-Bsymbolic
CFLAGS = $(CFLAGS_LIB) $(INCLUDE) -std=c++11 -DUSE_CUDNN
          # -DUNICODE -D_UNICODE
NFLAGS_LIB=-g -c $(DEFS) -shared -Xcompiler -fPIC -Xcompiler -fvisibility=hidden
NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11

LIBS=

SRCS:=$(wildcard $(SRC_ROOT)/*.cpp) \
    $(wildcard ${SRC_ROOT}/sort/*.cpp)  \
    $(wildcard $(SRC_ROOT)/MD5/mID.cpp) \
    $(wildcard $(HIDE_MODEL_CAFFE2)/*.cpp) \
    $(wildcard $(HIDE_MODEL_TRT)/*.cpp) \
    $(wildcard $(SRC_ROOT)/snapshot_analysis/*.cpp) \
    
OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS)))

CU_SOURCES = $(wildcard ${SRC_ROOT}/snapshot_analysis/*.cu)
CU_OBJS = $(patsubst %.cu, %.o, $(notdir $(CU_SOURCES)))

all:$(TARGET)

$(TARGET):$(OBJS) $(CU_OBJS)
	rm -f $(TARGET)
	$(XX) $(CFLAGS) -shared -o $@ $^ $(LIBSPATH) $(LIBS) -Wl,-rpath=$(DEPEND_DIR)/video_structure_sdk_20220512
	rm -f *.o
 
%.o:$(SRC_ROOT)/%.cpp
	$(XX) $(CFLAGS) -c $<
%.o:$(SRC_ROOT)/MD5/%.cpp
	$(XX) $(CFLAGS) -c $< 
%.o:$(SRC_ROOT)/sort/%.cpp
	$(XX) $(CFLAGS) -c $<  
%.o:$(HIDE_MODEL_CAFFE2)/%.cpp
	$(XX) $(CFLAGS) -c $<
%.o:$(HIDE_MODEL_TRT)/%.cpp
	$(XX) $(CFLAGS) -c $< 
%.o:$(SRC_ROOT)/snapshot_analysis/%.cpp
	$(XX) $(CFLAGS) -c $< 
%.o:$(SRC_ROOT)/snapshot_analysis/%.cu
	@echo "#######################CU_OBJS:$@###############"
	$(NVCC) $(NFLAGS) -o $@ $< 
 
.PHONY:clean
clean:
	rm -f *.o $(TARGET)