Commit efa03a70174864c9949cb6c013d4c63049876743

Authored by Hu Chunming
1 parent 5686354a

优化makefile

src/Makefile
@@ -8,25 +8,29 @@ BIN_DIR:=$(BUILD_DIR)/bin @@ -8,25 +8,29 @@ BIN_DIR:=$(BUILD_DIR)/bin
8 export BUILD_DIR 8 export BUILD_DIR
9 9
10 PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder 10 PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder
11 -  
12 -DEPEND_DIR = $(PROJECT_ROOT)/bin  
13 -SRC_ROOT = $(PROJECT_ROOT)/src  
14 THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty 11 THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty
  12 +export PROJECT_ROOT THIRDPARTY_ROOT
  13 +
  14 +CUDA_ROOT = /usr/local/cuda-11.1
  15 +export CUDA_ROOT
  16 +
  17 +FFMPEG_DIR = $(PROJECT_ROOT)/bin
15 SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release 18 SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release
16 19
17 #编译器 20 #编译器
18 CXX:=g++ 21 CXX:=g++
19 -CXXFLAGS:=-std=c++11 -Wall -Wextra -Og -g 22 +
20 INCS:=-I $(TOP_DIR) \ 23 INCS:=-I $(TOP_DIR) \
21 -I $(SPDLOG_ROOT)/include \ 24 -I $(SPDLOG_ROOT)/include \
  25 + -I $(FFMPEG_DIR)/include \
22 26
23 MACROS:= 27 MACROS:=
24 -export CXX CXXFLAGS INCS MACROS  
25 28
26 # 链接器 29 # 链接器
27 -LD:=g++  
28 -LDFLAGS:=  
29 -LIBS:= -L $(SPDLOG_ROOT)/lib -l:libspdlog.a \ 30 +LIBS:= -L $(SPDLOG_ROOT) -l:libspdlog.a \
  31 + -L $(FFMPEG_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \
  32 +
  33 +export CXX INCS MACROS LIBS
30 34
31 # 各个模块 35 # 各个模块
32 MODULES:= nvdec gb28181 interface demo 36 MODULES:= nvdec gb28181 interface demo
src/demo/Makefile
@@ -16,45 +16,26 @@ DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d @@ -16,45 +16,26 @@ DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
16 TARGET:=/mnt/data/cmhu/FFNvDecoder/bin/lib/demo 16 TARGET:=/mnt/data/cmhu/FFNvDecoder/bin/lib/demo
17 17
18 18
19 -  
20 -PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder  
21 -  
22 -DEPEND_DIR = $(PROJECT_ROOT)/bin  
23 -THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty  
24 -SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release  
25 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export 19 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export
26 20
27 -CUDA_ROOT = /usr/local/cuda-11.1  
28 -  
29 -LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \  
30 - -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \  
31 - -L $(SPDLOG_ROOT) -l:libspdlog.a \  
32 - -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \  
33 - -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a  
34 -  
35 -  
36 INCLUDE= -I $(TOP_DIR)/interface \ 21 INCLUDE= -I $(TOP_DIR)/interface \
37 -I $(TOP_DIR)/nvdec \ 22 -I $(TOP_DIR)/nvdec \
38 -I $(TOP_DIR)/gb28181 \ 23 -I $(TOP_DIR)/gb28181 \
39 - -I $(DEPEND_DIR)/include \  
40 -I $(CUDA_ROOT)/include \ 24 -I $(CUDA_ROOT)/include \
41 -I $(TOP_DIR)/common/inc \ 25 -I $(TOP_DIR)/common/inc \
42 -I $(TOP_DIR)/common/UtilNPP \ 26 -I $(TOP_DIR)/common/UtilNPP \
43 -I $(TOP_DIR)/ \ 27 -I $(TOP_DIR)/ \
44 - -I $(SPDLOG_ROOT)/include \  
45 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \ 28 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
46 -I $(JRTP_ROOT)/jthread/include/jthread 29 -I $(JRTP_ROOT)/jthread/include/jthread
47 30
48 LIBSPATH= -L $(BUILD_DIR)/interface/lib -l:interface.a \ 31 LIBSPATH= -L $(BUILD_DIR)/interface/lib -l:interface.a \
49 -L $(BUILD_DIR)/nvdec/lib -l:nvdec.a \ 32 -L $(BUILD_DIR)/nvdec/lib -l:nvdec.a \
50 -L $(BUILD_DIR)/gb28181/lib -l:gb28181.a \ 33 -L $(BUILD_DIR)/gb28181/lib -l:gb28181.a \
51 - -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \  
52 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \ 34 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \
53 - -L $(SPDLOG_ROOT) -l:libspdlog.a \  
54 -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \ 35 -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \
55 -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a 36 -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a
56 37
57 -CXXFLAGS= -g -O0 -fPIC $(INCLUDE) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings 38 +CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(LIBSPATH) $(INCS) $(LIBS) $(MACROS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings
58 # -DUNICODE -D_UNICODE 39 # -DUNICODE -D_UNICODE
59 40
60 # 默认最终目标 41 # 默认最终目标
@@ -74,8 +55,8 @@ $(LIB_DIR): @@ -74,8 +55,8 @@ $(LIB_DIR):
74 # 生成中间目标文件 55 # 生成中间目标文件
75 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR) 56 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
76 @echo -e "\e[33m""Building object $@""\e[0m" 57 @echo -e "\e[33m""Building object $@""\e[0m"
77 - @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $<"  
78 - $(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $< 58 + @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<"
  59 + $(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<
79 60
80 # 若没有obj目录则自动生成 61 # 若没有obj目录则自动生成
81 $(OBJ_DIR): 62 $(OBJ_DIR):
src/gb28181/Makefile
@@ -12,33 +12,21 @@ DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS))) @@ -12,33 +12,21 @@ DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS)))
12 # 自动生成头文件依赖选项 12 # 自动生成头文件依赖选项
13 DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d 13 DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
14 14
15 -CUDA_ROOT = /usr/local/cuda-11.1  
16 -  
17 -PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder  
18 -  
19 -DEPEND_DIR = $(PROJECT_ROOT)/bin  
20 -THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty  
21 -SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release  
22 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export 15 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export
23 16
24 -  
25 -INCLUDE= -I $(DEPEND_DIR)/include \  
26 - -I $(CUDA_ROOT)/include \  
27 - -I $(TOP_DIR)/common/inc \ 17 +INCLUDE= -I $(TOP_DIR)/common/inc \
28 -I $(TOP_DIR)/common/UtilNPP \ 18 -I $(TOP_DIR)/common/UtilNPP \
29 -I $(TOP_DIR)/ \ 19 -I $(TOP_DIR)/ \
30 - -I $(SPDLOG_ROOT)/include \ 20 + -I $(CUDA_ROOT)/include \
31 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \ 21 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
32 -I $(JRTP_ROOT)/jthread/include/jthread 22 -I $(JRTP_ROOT)/jthread/include/jthread
33 23
34 -LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \ 24 +LIBSPATH= -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \
  25 + -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a \
35 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \ 26 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \
36 - -L $(SPDLOG_ROOT) -l:libspdlog.a \  
37 - -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \  
38 - -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a  
39 27
40 28
41 -CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings 29 +CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(INCS) $(LIBS) $(LIBSPATH) $(MACROS) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings
42 30
43 # 最终目标文件 31 # 最终目标文件
44 TARGET:=$(LIB_DIR)/$(MODULE).a 32 TARGET:=$(LIB_DIR)/$(MODULE).a
@@ -60,8 +48,8 @@ $(LIB_DIR): @@ -60,8 +48,8 @@ $(LIB_DIR):
60 # 生成中间目标文件 48 # 生成中间目标文件
61 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR) 49 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
62 @echo -e "\e[33m""Building object $@""\e[0m" 50 @echo -e "\e[33m""Building object $@""\e[0m"
63 - @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $<"  
64 - @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $< 51 + @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<"
  52 + @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<
65 53
66 # 若没有obj目录则自动生成 54 # 若没有obj目录则自动生成
67 $(OBJ_DIR): 55 $(OBJ_DIR):
src/interface/Makefile
@@ -12,41 +12,28 @@ DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS))) @@ -12,41 +12,28 @@ DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS)))
12 # 自动生成头文件依赖选项 12 # 自动生成头文件依赖选项
13 DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d 13 DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
14 14
15 -  
16 -PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder  
17 -  
18 -DEPEND_DIR = $(PROJECT_ROOT)/bin  
19 -THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty  
20 -SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release  
21 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export 15 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export
22 16
23 -  
24 -INCLUDE= -I $(DEPEND_DIR)/include \  
25 - -I $(CUDA_ROOT)/include \  
26 - -I $(TOP_DIR)/common/inc \ 17 +INCLUDE= -I $(TOP_DIR)/common/inc \
27 -I $(TOP_DIR)/common/UtilNPP \ 18 -I $(TOP_DIR)/common/UtilNPP \
28 -I $(TOP_DIR)/ \ 19 -I $(TOP_DIR)/ \
29 - -I $(SPDLOG_ROOT)/include \  
30 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \ 20 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
31 -I $(JRTP_ROOT)/jthread/include/jthread \ 21 -I $(JRTP_ROOT)/jthread/include/jthread \
32 -I $(TOP_DIR)/src/gb28181 \ 22 -I $(TOP_DIR)/src/gb28181 \
33 -I $(TOP_DIR)/src/nvdec \ 23 -I $(TOP_DIR)/src/nvdec \
  24 + -I $(CUDA_ROOT)/include \
34 25
35 -LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \ 26 +LIBSPATH= -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \
  27 + -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a \
36 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \ 28 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \
37 - -L $(SPDLOG_ROOT) -l:libspdlog.a \  
38 - -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \  
39 - -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a  
40 29
41 30
42 -CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings 31 +CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(LIBSPATH) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings
43 32
44 33
45 # 最终目标文件 34 # 最终目标文件
46 TARGET:=$(LIB_DIR)/$(MODULE).a 35 TARGET:=$(LIB_DIR)/$(MODULE).a
47 36
48 -# MODULE_LIBS:=$(BUILD_DIR)/nvdec/lib/nvdec.a \  
49 -# $(BUILD_DIR)/gb28181/lib/gb28181.a\  
50 37
51 # 默认最终目标 38 # 默认最终目标
52 .PHONY:all 39 .PHONY:all
@@ -65,9 +52,9 @@ $(LIB_DIR): @@ -65,9 +52,9 @@ $(LIB_DIR):
65 # 生成中间目标文件 52 # 生成中间目标文件
66 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR) 53 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
67 @echo -e "\e[33m""Building object $@""\e[0m" 54 @echo -e "\e[33m""Building object $@""\e[0m"
68 - @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $<" 55 + @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBS) $(MACROS) -o $@ $<"
69 # @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $(MODULE_LIBS) $< 56 # @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $(MODULE_LIBS) $<
70 - @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $< 57 + @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBS) $(MACROS) -o $@ $<
71 58
72 # 若没有obj目录则自动生成 59 # 若没有obj目录则自动生成
73 $(OBJ_DIR): 60 $(OBJ_DIR):
src/nvdec/Makefile
@@ -9,7 +9,7 @@ SRCS:=$(notdir $(wildcard $(SRC_DIR)/*.cpp)) @@ -9,7 +9,7 @@ SRCS:=$(notdir $(wildcard $(SRC_DIR)/*.cpp))
9 OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cpp, %.o, $(SRCS))) 9 OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cpp, %.o, $(SRCS)))
10 DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS))) 10 DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS)))
11 11
12 -CUDA_ROOT = /usr/local/cuda-11.1 12 +
13 NVCC = $(CUDA_ROOT)/bin/nvcc 13 NVCC = $(CUDA_ROOT)/bin/nvcc
14 14
15 # 自动生成头文件依赖选项 15 # 自动生成头文件依赖选项
@@ -21,35 +21,24 @@ DEFS = -DENABLE_DVPP_INTERFACE @@ -21,35 +21,24 @@ DEFS = -DENABLE_DVPP_INTERFACE
21 TARGET:=$(LIB_DIR)/$(MODULE).a 21 TARGET:=$(LIB_DIR)/$(MODULE).a
22 22
23 23
24 -PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder  
25 -  
26 -DEPEND_DIR = $(PROJECT_ROOT)/bin  
27 -THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty  
28 -SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release  
29 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export 24 JRTP_ROOT = $(THIRDPARTY_ROOT)/jrtp_export
30 25
31 -  
32 -INCLUDE= -I $(DEPEND_DIR)/include \  
33 - -I $(CUDA_ROOT)/include \  
34 - -I $(TOP_DIR)/common/inc \ 26 +INCLUDE= -I $(TOP_DIR)/common/inc \
35 -I $(TOP_DIR)/common/UtilNPP \ 27 -I $(TOP_DIR)/common/UtilNPP \
36 - -I $(TOP_DIR)/ \  
37 - -I $(SPDLOG_ROOT)/include \ 28 + -I $(TOP_DIR) \
  29 + -I $(CUDA_ROOT)/include \
38 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \ 30 -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
39 -I $(JRTP_ROOT)/jthread/include/jthread 31 -I $(JRTP_ROOT)/jthread/include/jthread
40 32
41 -LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \ 33 +LIBSPATH= -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \
  34 + -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a \
42 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \ 35 -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \
43 - -L $(SPDLOG_ROOT) -l:libspdlog.a \  
44 - -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \  
45 - -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a  
46 -  
47 36
48 -CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings 37 +CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(LIBSPATH) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl -Wwrite-strings
49 # -DUNICODE -D_UNICODE 38 # -DUNICODE -D_UNICODE
50 39
51 -NFLAGS_LIB=-g -c -shared -Xcompiler -fPIC -Xcompiler -fvisibility=hidden  
52 -NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11 40 +NFLAGS_LIB=-g -c -shared -Xcompiler -fPIC
  41 +NFLAGS = $(NFLAGS_LIB) $(INCLUDE) $(LIBSPATH) -std=c++11
53 42
54 CU_SOURCES:=$(notdir $(wildcard $(SRC_DIR)/*.cu)) 43 CU_SOURCES:=$(notdir $(wildcard $(SRC_DIR)/*.cu))
55 CU_OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cu, %.o, $(CU_SOURCES))) 44 CU_OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cu, %.o, $(CU_SOURCES)))
@@ -72,13 +61,13 @@ $(LIB_DIR): @@ -72,13 +61,13 @@ $(LIB_DIR):
72 # 生成中间目标文件 61 # 生成中间目标文件
73 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR) 62 $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
74 @echo -e "\e[33m""Building object $@""\e[0m" 63 @echo -e "\e[33m""Building object $@""\e[0m"
75 - @echo "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $<"  
76 - @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBSPATH) $(MACROS) -o $@ $< 64 + @echo "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBS) $(MACROS) -o $@ $<"
  65 + @$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) $(INCS) $(LIBS) $(MACROS) -o $@ $<
77 66
78 $(OBJ_DIR)%.o:$(SRC_DIR)/%.cu 67 $(OBJ_DIR)%.o:$(SRC_DIR)/%.cu
79 @echo -e "\e[33m""Building object $@""\e[0m" 68 @echo -e "\e[33m""Building object $@""\e[0m"
80 - @echo "$(NVCC) $(NFLAGS) -o $@ $<"  
81 - $(NVCC) $(NFLAGS) -o $@ $< 69 + @echo "$(NVCC) $(NFLAGS) $(INCS) $(LIBS) -o $@ $<"
  70 + $(NVCC) $(NFLAGS) $(INCS) $(LIBS) -o $@ $<
82 71
83 72
84 # 若没有obj目录则自动生成 73 # 若没有obj目录则自动生成