Makefile 2.01 KB
C = gcc
XX = g++
AR = ar

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


PROJECT_ROOT= /home/cmhu/Project_VideoStructure
DEPEND_DIR = $(PROJECT_ROOT)/Linux_3rdparty
SRC_ROOT = $(PROJECT_ROOT)/vehicle_structure_platform.git0708-3080-trt-face/src/DxDecoder

TARGET = ./libDxDecoder.a

INCLUDE= -I $(DEPEND_DIR)/include/boost_linux_x86_64/include \
  -I $(SRC_ROOT)/common/inc \
  -I $(SRC_ROOT)/common/UtilNPP \
  -I $(CUDA)/include \
  -I $(DEPEND_DIR)/include \
  -I $(SRC_ROOT) \
  -I $(SRC_ROOT)/SfxDecoder \

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

LIBSPATH= -L$(SRC_ROOT)/common/lib/linux/x86_64/ -lGLEW \
  -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 \
   
#CFLAGS =-O2 -fPIC $(INCLUDE) -lrt  -std=c++11 -fvisibility=hidden 

SRCS:=$(wildcard $(SRC_ROOT)/*.cpp)
OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS)))

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

STATICLIBS= $(SRC_ROOT)/common/lib/linux/x86_64/libGLEW.a

all:$(TARGET)

$(TARGET):$(OBJS) $(CU_OBJS)
	$(AR) crs $@ $^
	ranlib $(TARGET)
	echo create $(TARGET) > script.mri;
	echo addlib $(TARGET) >> script.mri;
	@for alib in `echo $(STATICLIBS) | cut -d' ' -f 1-`; \
	do \
		echo addlib $$alib >> script.mri; \
	done
	echo save >> script.mri;
	echo end >> script.mri;
	ar -M < script.mri
	ranlib $(TARGET)
	chmod 777 $(TARGET)
	rm -f *.o

%.o:$(SRC_ROOT)/%.cpp
	@echo "##############################$@###############################"
	$(XX) $(CFLAGS) -c $< -o $@
%.o:$(SRC_ROOT)/%.cu
	@echo "#######################CU_OBJS:$@###############"
	$(NVCC) $(NFLAGS) -o $@ $< 

.PHONY:clean

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