Blame view

src/Makefile 1.47 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
  
00b0fbdb   Hu Chunming   编译nvdec
10
  PROJECT_ROOT= /mnt/data/cmhu/FFNvDecoder
3d2ab595   Hu Chunming   支持gb28181
11
  THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty
efa03a70   Hu Chunming   优化makefile
12
13
14
15
16
17
  export PROJECT_ROOT THIRDPARTY_ROOT
  
  CUDA_ROOT = /usr/local/cuda-11.1
  export CUDA_ROOT
  
  FFMPEG_DIR = $(PROJECT_ROOT)/bin
3d2ab595   Hu Chunming   支持gb28181
18
  SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release
aac5773f   hucm   功能基本完成,接口待打磨
19
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
20
21
  #编译器
  CXX:=g++
efa03a70   Hu Chunming   优化makefile
22
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
23
24
  INCS:=-I $(TOP_DIR) \
  		-I $(SPDLOG_ROOT)/include \
efa03a70   Hu Chunming   优化makefile
25
  		-I $(FFMPEG_DIR)/include \
aac5773f   hucm   功能基本完成,接口待打磨
26
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
27
  MACROS:=
aac5773f   hucm   功能基本完成,接口待打磨
28
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
29
  # 链接器
efa03a70   Hu Chunming   优化makefile
30
31
32
33
  LIBS:= -L $(SPDLOG_ROOT) -l:libspdlog.a \
  		-L $(FFMPEG_DIR)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \
  
  export CXX INCS MACROS LIBS
e41a52bb   Hu Chunming   1.优化数据读取线程;2. 添加A...
34
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
35
  # 各个模块
5686354a   Hu Chunming   初步编译成功cuvid部分的
36
  MODULES:= nvdec gb28181 interface demo
aac5773f   hucm   功能基本完成,接口待打磨
37
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
38
  # 各个模块对应的库
5686354a   Hu Chunming   初步编译成功cuvid部分的
39
40
  # MODULE_LIBS:=$(BUILD_DIR)/nvdec/lib/nvdec.a\
  # 			$(BUILD_DIR)/nvdec/lib/gb28181.a\
00b0fbdb   Hu Chunming   编译nvdec
41
  # 			$(BUILD_DIR)/interface/lib/interface.a\
aac5773f   hucm   功能基本完成,接口待打磨
42
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
43
44
  # 最终目标文件
  TARGET:=$(BIN_DIR)/test
aac5773f   hucm   功能基本完成,接口待打磨
45
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
46
47
48
  # 默认最终目标
  .PHONY:all
  all:$(TARGET)
aac5773f   hucm   功能基本完成,接口待打磨
49
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
50
51
52
  # 最终目标依赖关系
  $(TARGET):FORCE | $(BIN_DIR)
  	@for n in $(MODULES); do make -s -f $(TOP_DIR)/$$n/Makefile MODULE=$$n || exit "$$?"; done
5686354a   Hu Chunming   初步编译成功cuvid部分的
53
  	@echo -e "\e[32m""Linking executable $(TARGET)""\e[0m"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
54
  #@$(LD) $(LDFLAGS) -o $@ $(MODULE_LIBS) $(LIBS)
aac5773f   hucm   功能基本完成,接口待打磨
55
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
56
57
58
  # 若没有bin目录则自动生成
  $(BIN_DIR):
  	@mkdir -p $@
3d2ab595   Hu Chunming   支持gb28181
59
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
60
61
62
  # 强制执行命令
  .PHONY:FORCE
  FORCE:
aac5773f   hucm   功能基本完成,接口待打磨
63
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
64
65
  # make clean直接删除整个build目录
  .PHONY:clean
aac5773f   hucm   功能基本完成,接口待打磨
66
  clean:
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
67
  	@rm -rf $(BUILD_DIR)