Makefile文件解析

Makefile 文件名第一个大些,其余小写,全大写不对
# 注释
$(变量)  既可以一个值也可以多个值,相当于列表
$< 代表第一个依赖文件
$@ 代表目标文件
$^ 代表所有依赖文件
\  换行
-c 源代码code
-o 可执行文件
-L 需要库文件路径
-M 自动寻找源文件中包含的头文件,不用写头文件了


:= 覆盖之前的值
?= 如果没赋值过就赋值后面的


@ echo 不回显执行


exit 1 退出


目标文件($@):依赖文件($< $^)    <--依赖关系(注意生成方向)
TAB键 规则命令
静态模式规则
链接库 build/lib
静态链接库 caffe.a  Archive File
动态链接库 caffe.so
$(wildcard ) 搜索目录,生成列表
$(addprefix )增加前缀
$(error )  输出错误信息
$(shell )
include 包含其他Makefile文件


CXXFLAGS
宏定义
隐晦规则、自动推导功能 缺省书写法
伪目标 notepad中红色显示


Make工作步骤:
1.读入MAKEFILE文件
2.初始化变量
3.包含其他makefile文件
3.推导缺省规则,分析并为所有目标文件建立依赖关系链
4.根据依赖关系,决定哪些需要重新生成
5.执行生成命令




http://blog.csdn.net/kesaihao862/article/details/7332528




https://www.cnblogs.com/wanqieddy/archive/2011/09/21/2184257.html


http://blog.csdn.net/btsspu/article/details/20392261


https://zhidao.baidu.com/question/495661420.html




http://blog.csdn.net/thystar/article/details/50837750 caffe的Makefile解析
http://xueqi.iteye.com/blog/1567866  MAKEfile的编写规则及实例
http://blog.csdn.net/runfarther/article/details/50039023  聊聊Makefile中的$(addprefix)
http://blog.csdn.net/qingfengtsing/article/details/21252461  makefile的shell语法
http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile 跟我一起学makefile
https://www.cnblogs.com/hnrainll/archive/2011/04/12/2014082.html MAKEFILE伪目标
http://blog.csdn.net/q1302182594/article/details/47048061 Makefile的一些常用符号
posted @ 2018-01-09 17:32  开往春天的拖拉机  阅读(139)  评论(0编辑  收藏  举报