Makefile 使用记录
赋值
| 赋值方式 | 特点 | 展开方式 | 适用场景 |
|---|---|---|---|
=(简单变量) | 延迟展开,支持动态参数 | 每次使用时展开 | 动态参数传递、函数定义 |
:=(递归扩展变量) | 立即展开,静态值 | 定义时立即展开 | 静态变量、提高效率 |
?=(条件赋值) | 条件赋值,避免覆盖 | 定义时立即展开 | 设置默认值 |
+=(追加赋值) | 追加值到变量 | 每次使用时展开 | 动态构建变量值、多行命令 |
override(覆盖赋值) | 覆盖变量,优先使用命令行值 | 定义时立即展开 | 确保命令行中的值被使用 |
define ... endef(函数定义) | 定义函数,支持参数传递 | 每次调用时展开 | 动态生成值、复杂逻辑 |