一个C++项目的makefile
makefile
makefile语法知识
常见语法
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表
@echo "hello" 命令前面加了@符号,则不显示命令本身而只显示结果。
-rm xxx 命令前面加上“-”,即使这条命令出错,makefile也会继续执行后续命令的
常见函数
wildcard : 扩展通配符
notdir : 去除路径
patsubst :替换通配符
addprefix:增加前缀
basename:取.之前的
foreach
简单实现
需求
获得所有源文件
源文件->.o
.o -> target
clean
总结
完整makefile
需求
实现
最后更新于