Blame view

build/Makefile 1.91 KB
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
1
2
3
  # 项目根目录
  TOP_DIR:=$(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
  export TOP_DIR
a2b7fd92   ming   测试代码优化
4
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
5
6
7
8
  # 各项目录
  BUILD_DIR:=$(TOP_DIR)/build
  BIN_DIR:=$(BUILD_DIR)/bin
  export BUILD_DIR
aac5773f   hucm   功能基本完成,接口待打磨
9
  
28925304   Hu Chunming   makefile优化
10
  PROJECT_ROOT= /home/huchunming/FFNvDecoder
3d2ab595   Hu Chunming   支持gb28181
11
  THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty
efa03a70   Hu Chunming   优化makefile
12
  export PROJECT_ROOT THIRDPARTY_ROOT
aac5773f   hucm   功能基本完成,接口待打磨
13
  
efa03a70   Hu Chunming   优化makefile
14
15
  CUDA_ROOT = /usr/local/cuda-11.1
  export CUDA_ROOT
aac5773f   hucm   功能基本完成,接口待打磨
16
  
efa03a70   Hu Chunming   优化makefile
17
  FFMPEG_DIR = $(PROJECT_ROOT)/bin
3d2ab595   Hu Chunming   支持gb28181
18
  SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release
3d2ab595   Hu Chunming   支持gb28181
19
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
20
21
  #编译器
  CXX:=g++
3d2ab595   Hu Chunming   支持gb28181
22
  
aac5773f   hucm   功能基本完成,接口待打磨
23
24
  INCLUDE= -I $(DEPEND_DIR)/include \
    -I $(CUDA_ROOT)/include \
e41a52bb   Hu Chunming   1.优化数据读取线程;2. 添加A...
25
26
27
    -I $(SRC_ROOT)/common/inc \
    -I $(SRC_ROOT)/common/UtilNPP \
    -I $(SRC_ROOT)\
3d2ab595   Hu Chunming   支持gb28181
28
29
30
    -I $(SPDLOG_ROOT)/include \
    -I $(SRC_ROOT)/gb28181 \
    -I $(JRTP_ROOT)/jrtplib/include/jrtplib3 \
ecb0badb   ming   保存jpg图片
31
32
    -I $(JRTP_ROOT)/jthread/include/jthread \
    -I $(CURL_ROOT)/include \
aac5773f   hucm   功能基本完成,接口待打磨
33
34
  
  LIBSPATH= -L $(DEPEND_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \
2d236ac4   ming   Merge branch 'dev...
35
     -L $(CUDA_ROOT)/lib64 -lcuda -lcudart -lnvcuvid -lcurand -lcublas -lnvjpeg \
372e629f   ming   gb28181支持TCP数据流
36
     -L $(SPDLOG_ROOT) -l:libspdlog.a \
3d2ab595   Hu Chunming   支持gb28181
37
     -L $(JRTP_ROOT)/jthread/lib -l:libjthread.a \
ecb0badb   ming   保存jpg图片
38
39
     -L $(JRTP_ROOT)/jrtplib/lib -l:libjrtp.a \
     -L $(CURL_ROOT)/lib -l:libcurl.a \
aac5773f   hucm   功能基本完成,接口待打磨
40
  
efa03a70   Hu Chunming   优化makefile
41
  export CXX INCS MACROS LIBS
aac5773f   hucm   功能基本完成,接口待打磨
42
  
28925304   Hu Chunming   makefile优化
43
  MACROS:= -DUSE_DVPP
e41a52bb   Hu Chunming   1.优化数据读取线程;2. 添加A...
44
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
45
  # 各个模块
28925304   Hu Chunming   makefile优化
46
  MODULES:= dvpp interface demo
aac5773f   hucm   功能基本完成,接口待打磨
47
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
48
  # 各个模块对应的库
5686354a   Hu Chunming   初步编译成功cuvid部分的
49
50
  # MODULE_LIBS:=$(BUILD_DIR)/nvdec/lib/nvdec.a\
  # 			$(BUILD_DIR)/nvdec/lib/gb28181.a\
00b0fbdb   Hu Chunming   编译nvdec
51
  # 			$(BUILD_DIR)/interface/lib/interface.a\
aac5773f   hucm   功能基本完成,接口待打磨
52
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
53
54
  # 最终目标文件
  TARGET:=$(BIN_DIR)/test
aac5773f   hucm   功能基本完成,接口待打磨
55
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
56
57
58
  # 默认最终目标
  .PHONY:all
  all:$(TARGET)
aac5773f   hucm   功能基本完成,接口待打磨
59
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
60
61
62
  # 最终目标依赖关系
  $(TARGET):FORCE | $(BIN_DIR)
  	@for n in $(MODULES); do make -s -f $(TOP_DIR)/$$n/Makefile MODULE=$$n || exit "$$?"; done
28925304   Hu Chunming   makefile优化
63
  # @echo -e "\e[32m""Linking executable $(TARGET)""\e[0m"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
64
  #@$(LD) $(LDFLAGS) -o $@ $(MODULE_LIBS) $(LIBS)
aac5773f   hucm   功能基本完成,接口待打磨
65
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
66
67
68
  # 若没有bin目录则自动生成
  $(BIN_DIR):
  	@mkdir -p $@
3d2ab595   Hu Chunming   支持gb28181
69
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
70
71
72
  # 强制执行命令
  .PHONY:FORCE
  FORCE:
aac5773f   hucm   功能基本完成,接口待打磨
73
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
74
75
  # make clean直接删除整个build目录
  .PHONY:clean
aac5773f   hucm   功能基本完成,接口待打磨
76
  clean:
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
77
  	@rm -rf $(BUILD_DIR)