Makefile
1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
XX = g++
NVCC = nvcc
PROJECT_ROOT= /mnt/e/fiss/FFNvDecoder
DEPEND_DIR = $(PROJECT_ROOT)/bin
SRC_ROOT = $(PROJECT_ROOT)/src
CUDA_ROOT = /usr/local/cuda
TARGET= $(DEPEND_DIR)/lib/test
INCLUDE= -I $(DEPEND_DIR)/include \
-I $(CUDA_ROOT)/include \
-I $(SRC_ROOT)/common/inc \
-I $(SRC_ROOT)/common/UtilNPP \
-I $(SRC_ROOT)\
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\
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)
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)/%.cu
@echo "#######################CU_OBJS:$@###############"
$(NVCC) $(NFLAGS) -o $@ $<
clean:
rm -f *.o $(TARGET)