XX = g++ CUDA_ROOT = /usr/local/cuda-11.1 NVCC = $(CUDA_ROOT)/bin/nvcc PROJECT_ROOT= /mnt/e/fiss/FFNvDecoder DEPEND_DIR = $(PROJECT_ROOT)/bin SRC_ROOT = $(PROJECT_ROOT)/src THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty TARGET= $(DEPEND_DIR)/lib/test SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export INCLUDE= -I $(DEPEND_DIR)/include \ -I $(CUDA_ROOT)/include \ -I $(SRC_ROOT)/common/inc \ -I $(SRC_ROOT)/common/UtilNPP \ -I $(SRC_ROOT)\ -I $(SPDLOG_ROOT)/include \ -I $(SRC_ROOT)/gb28181 \ -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \ -I $(JRTP_ROOT)/jthread/include/jthread LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \ -L $(CUDA_ROOT)/lib64 -lcudart -lcurand -lcublas -lnvjpeg \ -L /usr/lib/wsl/lib -lcuda -lnvcuvid\ -L $(SPDLOG_ROOT)/lib64 -l:libspdlog.a \ -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \ -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a CFLAGS= -g -fPIC -O0 $(INCLUDE) -pthread -lrt -lz -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl # -DUNICODE -D_UNICODE NFLAGS_LIB=-g -c -shared -Xcompiler -fPIC -Xcompiler -fvisibility=hidden NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11 SRCS:=$(wildcard $(SRC_ROOT)/*.cpp) \ $(wildcard $(SRC_ROOT)/gb28181/*.cpp) OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS))) CU_SOURCES = $(wildcard ${SRC_ROOT}/*.cu) CU_OBJS = $(patsubst %.cu, %.o, $(notdir $(CU_SOURCES))) $(TARGET):$(OBJS) $(CU_OBJS) rm -f $(TARGET) $(XX) -o $@ $^ $(CFLAGS) $(LIBSPATH) $(LIBS) -Wwrite-strings rm -f *.o %.o:$(SRC_ROOT)/%.cpp $(XX) $(CFLAGS) -c $< %.o:$(SRC_ROOT)/gb28181/%.cpp $(XX) $(CFLAGS) -c $< %.o:$(SRC_ROOT)/%.cu @echo "#######################CU_OBJS:$@###############" $(NVCC) $(NFLAGS) -o $@ $< clean: rm -f *.o $(TARGET)