Darknet yolov3 Makefile文件解析

文章目录

    • 1. darknet Makefile注释
    • 2. reference

现在搞深度学习都在linux平台,经常遇到gcc手动编译的时候。由于linux平台没有通用的IDE,大家都是靠Makefile配置文件进行make。在学习darknet框架的过程中,决定要顺便搞清楚Makefile的写法和参数配置。Makefile完整的教程网上有很多,我暂时也不打算完整学一遍,仅仅把遇到的都搞懂,下次遇到新的东西再学。
以下是我通过网上搜索整理好的darknet的Makefile文件注释,希望能够帮到其他人。如有错误,希望包涵。

1. darknet Makefile注释

# Makefile中变量定义如:标签=内容,后面的变量引用需要$(标签)
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0 # OpenMP是一套支持跨平台共享内存方式的多线程并发的编程API
DEBUG=0

ARCH= -gencode arch=compute_30,code=sm_30 \
      -gencode arch=compute_35,code=sm_35 \
      -gencode arch=compute_50,code=[sm_50,compute_50] \
      -gencode arch=compute_52,code=[sm_52,compute_52]
#      -gencode arch=compute_20,code=[sm_20,sm_21] \ This one is deprecated?

# This is what I use, uncomment if you know your arch and want to specify
# ARCH= -gencode arch=compute_52,code=compute_52

VPATH=./src/:./examples
SLIB=libdarknet.so #待生成的动态链接库
ALIB=libdarknet.a  #待生成的静态链接库
EXEC=darknet #待生成的执行文件名称
OBJDIR=./obj/ #生成目标文件的目录,即当期目录下obj子目录

CC=gcc
CPP=g++
NVCC=nvcc #nvidia编译器
AR=ar 	#ar,Linux系统的一个备份压缩命令,用于创建、修改备存文件(archive)。这里的ar命令是将目标文件打包为静态链接库。
ARFLAGS=rcs #ar命令的参数 -rcs。-r:将文件插入备存文件中 c:建立备存文件 s:若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表
OPTS=-Of

你可能感兴趣的:(ubuntu,deep-learning,darknet,linux,makefile)