Blame view

src/Makefile.bak0308 1.3 KB
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
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
53
54
55
56
57
58
59
60
61
62
  # 项目根目录
  TOP_DIR:=$(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
  export TOP_DIR
  
  # 各项目录
  BUILD_DIR:=$(TOP_DIR)/build
  BIN_DIR:=$(BUILD_DIR)/bin
  export BUILD_DIR
  
  PROJECT_ROOT= /home/huchunming/FFNvDecoder
  
  DEPEND_DIR = $(PROJECT_ROOT)/bin
  SRC_ROOT = $(PROJECT_ROOT)/src
  THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty
  SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release
  
  #编译器
  CXX:=g++
  CXXFLAGS:=-std=c++11 -Wall -Wextra -Og -g 
  INCS:=-I $(TOP_DIR) \
  		-I $(SPDLOG_ROOT)/include \
  
  MACROS:=
  export CXX CXXFLAGS INCS MACROS
  
  # 链接器
  LD:=g++
  LDFLAGS:=
  LIBS:= -L $(SPDLOG_ROOT)/lib -l:libspdlog.a \
  
  # 各个模块
  MODULES:= dvpp interface
  
  # 各个模块对应的库
  MODULE_LIBS:=$(BUILD_DIR)/dvpp/lib/libdvpp.a\
  			$(BUILD_DIR)/interface/lib/interface.a\
  
  # 最终目标文件
  TARGET:=$(BIN_DIR)/test
  
  # 默认最终目标
  .PHONY:all
  all:$(TARGET)
  
  # 最终目标依赖关系
  $(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)
  
  # 若没有bin目录则自动生成
  $(BIN_DIR):
  	@mkdir -p $@
  
  # 强制执行命令
  .PHONY:FORCE
  FORCE:
  
  # make clean直接删除整个build目录
  .PHONY:clean
  clean:
  	@rm -rf $(BUILD_DIR)