Blame view

src/demo/Makefile 2.52 KB
5686354a   Hu Chunming   初步编译成功cuvid部分的
1
2
3
4
5
  # 各项目录
  LIB_DIR:=$(BUILD_DIR)/$(MODULE)/lib
  DEP_DIR:=$(BUILD_DIR)/$(MODULE)/.dep
  OBJ_DIR:=$(BUILD_DIR)/$(MODULE)/obj
  SRC_DIR:=$(TOP_DIR)/$(MODULE)
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
6
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
7
8
9
10
  # 源文件以及中间目标文件和依赖文件
  SRCS:=$(notdir $(wildcard $(SRC_DIR)/*.cpp))
  OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cpp, %.o, $(SRCS)))
  DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS)))
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
11
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
12
13
  # 自动生成头文件依赖选项
  DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
00b0fbdb   Hu Chunming   编译nvdec
14
  
28925304   Hu Chunming   makefile优化
15
16
  DEFS = -DENABLE_DVPP_INTERFACE
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
17
  # 最终目标文件
28925304   Hu Chunming   makefile优化
18
19
  TARGET:=$(BUILD_DIR)/bin/demo
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
20
  
28925304   Hu Chunming   makefile优化
21
  include_dir=-I/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/include
5686354a   Hu Chunming   初步编译成功cuvid部分的
22
  
28925304   Hu Chunming   makefile优化
23
24
25
26
27
28
29
30
31
32
33
  lib_dir=-L/usr/lib \
  		-L/usr/local/lib \
  		-L/usr/local/Ascend/driver/lib64 \
  		-L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/atc/lib64\
  		-L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/lib64 \
  		-L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/lib64/stub \
  		-L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/lib64 \
  		-L/usr/local/Ascend/driver/lib64/driver
  		
  lib=-lacl_dvpp -lascendcl -lmmpa -lglog -lgflags -lpthread -lz -lacl_dvpp_mpi -lruntime -lascendalog -lc_sec -lmsprofiler -lgert -lge_executor -lge_common \
  	-lgraph -lascend_protobuf -lprofapi -lerror_manager -lexe_graph -lregister -lplatform
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
34
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
35
  INCLUDE= -I $(TOP_DIR)/interface \
00b0fbdb   Hu Chunming   编译nvdec
36
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
37
  LIBSPATH= -L $(BUILD_DIR)/interface/lib -l:interface.a \
28925304   Hu Chunming   makefile优化
38
  			-L $(BUILD_DIR)/dvpp/lib -l:dvpp.a
00b0fbdb   Hu Chunming   编译nvdec
39
  
28925304   Hu Chunming   makefile优化
40
  CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(include_dir) $(LIBSPATH) $(INCS) $(LIBS) $(lib_dir) $(lib) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl
5686354a   Hu Chunming   初步编译成功cuvid部分的
41
  	# -DUNICODE -D_UNICODE
00b0fbdb   Hu Chunming   编译nvdec
42
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
43
44
45
  # 默认最终目标
  .PHONY:all
  all:$(TARGET)
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
46
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
47
48
49
  # 生成最终目标
  $(TARGET): $(OBJS) | $(LIB_DIR)
  	@echo -e "\e[32m""Linking static library $(TARGET)""\e[0m"
28925304   Hu Chunming   makefile优化
50
51
  	@echo -e "$(CXX) -o $@ $^ $(DEPFLAGS) $(CXXFLAGS) $(MACROS)"
  	$(CXX) -o $@ $^ $(DEPFLAGS) $(CXXFLAGS) $(MACROS)
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
52
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
53
54
55
  # 若没有lib目录则自动生成
  $(LIB_DIR):
  	@mkdir -p $@
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
56
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
57
58
59
  # 生成中间目标文件
  $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
  	@echo -e "\e[33m""Building object $@""\e[0m"
efa03a70   Hu Chunming   优化makefile
60
61
  	@echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<"
  	$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
62
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
63
64
65
  # 若没有obj目录则自动生成
  $(OBJ_DIR):
  	@mkdir -p $@
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
66
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
67
68
69
  # 若没有.dep目录则自动生成
  $(DEP_DIR):
  	@mkdir -p $@
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
70
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
71
72
  # 依赖文件会在生成中间文件的时候自动生成,这里只是为了防止报错
  $(DEPS):
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
73
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
74
75
  # 引入中间目标文件头文件依赖关系
  include $(wildcard $(DEPS))
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
76
  
5686354a   Hu Chunming   初步编译成功cuvid部分的
77
78
  # 直接删除组件build目录
  .PHONY:clean
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
79
  clean:
5686354a   Hu Chunming   初步编译成功cuvid部分的
80
  	@rm -rf $(BUILD_DIR)/$(MODULE)