Makefile 2.56 KB

CC = gcc
XX = g++
AR = ar
NVCC=nvcc

PROJ_HOME = /mnt/data/cmhu/Project_VideoStructure

TARGET = $(DES_BIN)/libVPT.so

NVDECODE_ROOT=../DxDecoder
DEPEND_DIR = $(STATIC_RELEASE_ROOT)
#UTOOLS_ROOT = /home/xzhao_aic/MCaffe2/linux/utools  
UTOOLS_ROOT=/home/xzhao_aic/lib_video_structure_190123.old/utools/
UTOOLS_SRC = $(UTOOLS_SSD_ROOT)

SDK_ROOT = $(PROJ_HOME)/Linux_3rdparty/video_structure_sdk_20220512

INCLUDE =-I $(OPENCV_ROOT)/include \
	-I $(OPENCV_ROOT)/include/opencv \
	-I $(OPENCV_ROOT)/include/opencv2 \
	-I /home/xzhao_aic/local/include \
	-I $(BOOST_ROOT)/include \
	-I /usr/local/cuda/include \
	-I $(UTOOLS_SRC) \
	-I $(NVDECODE_ROOT) \
	-I $(NVDECODE_ROOT)/common/inc \
	-I /usr/include/cairo \
	-I $(SDK_ROOT) \

#-I $(VPT_ROOT)/vpt \

#	-I ./MD5 \

#CFLAGS =-g -Wall -O3 $(INCLUDE) # -std=c++11
CFLAGS = $(CFLAGS_LIB) $(INCLUDE) -std=c++11
NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11


LIBSPATH=-L$(UTOOLS_ROOT) -lutools \
	-L$(NVDECODE_ROOT) -lDxDecoder \
        -L$(HP_ROOT) -lhp \
        -L$(HCP_ROOT) -lhcp \
        -L$(VC_ROOT) -lvcolor \
        -L$(VR_ROOT) -lvr \
        -L$(VP_ROOT) -lvp \
	-L/usr/local/cuda/lib64 -lcuda -lcudart -lnvcuvid -lnppi -lnppc -lcurand -lcublas  -lcusolver \
	-L/usr/local/lib  -ldl -ldl -lm \
	  -l:libjasper.so.1 -l:libIlmImf.so.7 \
	-L$(DES_BIN) \

LIBS= -ldl -lpthread -lcairo

#SRCS:=$(wildcard *.cpp)
#OBJS:=$(patsubst %cpp, %o, $(SRCS))

SRCS:=$(wildcard *.cpp) $(wildcard $(VPT_ROOT)/sort/*.cpp) $(wildcard $(VPT_ROOT)/MD5/mID.cpp)
DIRS:=$(notdir $(SRCS))
OBJS:=$(patsubst %cpp, %o, $(DIRS))

CU_SOURCES = $(shell ls *.cu)
CU_OBJS=$(CU_SOURCES:.cu=.o)

STATICLIBS:=$(wildcard $(UTOOLS_ROOT)/*.a) 

all:$(TARGET)

$(TARGET):$(addprefix $(BUILD_DIR)/, $(OBJS)) $(addprefix $(BUILD_DIR)/, $(CU_OBJS)) 
	$(XX) $(CFLAGS) -shared -o $@ $^ $(LIBSPATH) $(LIBS)	
	chmod 777 $(TARGET)
	$(STRIP) $(TARGET)

$(BUILD_DIR)/%.o:%.cpp | $(BUILD_DIR)
	@echo "##############################$@##############################"
	$(XX) $(CFLAGS) -c $< -o $@
$(BUILD_DIR)/%.o:$(VPT_ROOT)/sort/%.cpp | $(BUILD_DIR)
	@echo "##############################$@###############################"
	$(XX) $(CFLAGS) -c $< -o $@
$(BUILD_DIR)/%.o:$(VPT_ROOT)/MD5/%.cpp | $(BUILD_DIR)
	@echo "##############################$@###############################"
	$(XX) $(CFLAGS) -c $< -o $@
$(BUILD_DIR)/%.o:%.cu | $(BUILD_DIR)
	@echo "#######################CU_OBJS:$@###############"
	$(NVCC) $(NFLAGS) -o $@ $< 

$(BUILD_DIR):
	mkdir $@

.PHONY:clean
clean:
	$(RM) $(BUILD_DIR)/*
	$(RM) $(TARGET)