Blame view

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