Makefile 速查
Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制
Makefile 速查是一款免费在线命令速查。Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制常见相关词:make · makefile · 构建 · 编译 · gcc · 自动化。本页可直接使用,不必注册。
共 21 个脚本
最简单的规则
target(目标): 依赖文件,缩进一行(必须是 Tab)写命令。运行 make target 执行。
伪目标 .PHONY
clean、install 等目标不对应文件,声明为 .PHONY 避免与同名文件冲突,也防止 make 认为已是最新而跳过。
默认目标 all
不指定目标时 make 执行第一个目标;约定俗成用 all 作为总入口。
双冒号规则
同一目标可写多条双冒号规则,每条独立执行;普通单冒号规则同一目标只允许一条。
变量定义与引用
= 延迟展开;:= 立即展开;?= 未定义才赋值;+= 追加。引用用 $(VAR) 或 ${VAR}。
命令行覆盖变量
命令行传入的变量会覆盖 Makefile 内赋值;用 override 强制 Makefile 内值优先。
导出变量到子进程
export 将变量传给子 make 或 shell 命令;unexport 取消导出。
= 与 := 的区别
= 延迟展开(使用时才求值),:= 立即展开(赋值时求值)。递归变量会多次展开。
常用自动变量
$@ 目标、$< 第一个依赖、$^ 全部依赖、$? 比目标新的依赖、$* 去掉后缀的目标名。
$(@D) 与 $(@F) 目录/文件名
$(@D) 目标的目录部分,$(@F) 目标的文件名部分;同理 $(<D) $(<F) 对应依赖。
$* 与 $% 特殊变量
$* 模式规则中去掉后缀的骨干部分;$% 用于归档成员规则时取成员名。
wildcard 通配文件
$(wildcard pattern) 展开匹配的文件列表,常与 patsubst 配合收集源文件。
foreach 遍历
$(foreach var, list, text) 对列表逐项展开。常用于生成多目标。
filter / filter-out 筛选
filter 保留匹配模式的词,filter-out 剔除匹配模式的词,可用于分离不同源文件。
shell 函数执行命令
$(shell cmd) 在构建前执行 shell 命令并把输出作为变量值。注意:不要滥用,影响可移植性。
ifeq / else / endif 条件
make 内建条件判断:ifeq/ifneq/ifdef/ifndef,在解析时求值,可控制变量与目标。
多目标与隐式批量
同一规则可写多个目标;配合模式规则或 foreach 批量生成。
C 项目模板
经典 C 项目 Makefile:自动收集源文件、目录结构清晰、支持 clean。
Go 项目模板
Go 项目常用命令封装:构建、测试、lint、清理,支持交叉编译。
Node.js 项目模板
前端/Node 项目常用任务:安装依赖、构建、测试、发布。
Docker 编排模板
用 Makefile 封装 docker compose 常用操作,简化记忆。
使用说明
- 左侧选择分类(基础规则、变量、常用函数、自动变量、实战模板等)
- 在搜索框输入关键词查找写法
- 点击卡片查看完整示例
- 点击「复制」粘贴到自己的 Makefile 中使用
常见问题
- 红色标签是什么? 标有红色「高危」的写法(如 rm -rf 清理规则)可能误删文件,使用前请确认路径
- 和 CMake 什么关系? CMake 是生成构建系统的工具,Make 是执行构建的工具,二者常配合使用
- Tab 还是空格? Makefile 规则命令行必须使用 Tab 缩进,这是最常见的报错原因
更多命令速查
查看全部Docker 命令
Docker 常用命令速查,容器/镜像/网络/卷管理,一键复制
Git 命令
Git 常用命令速查,分支/合并/暂存/回退,一键复制
Linux 运维命令
Linux 运维常用命令,进程/磁盘/内存/网络排查,一键复制
数据库命令
MySQL/PostgreSQL/Redis/MongoDB 常用命令速查,一键复制
Curl / HTTP
Curl 常用请求命令,GET/POST/认证/上传/调试,一键复制
Vim 命令
Vim 常用操作速查,移动/编辑/搜索/替换/窗口,一键复制
Kubernetes 命令
Kubernetes kubectl 常用命令速查,Pod/部署/服务/调试,一键复制
代码片段
常用语言代码片段,Python/JS/Go 工具函数,一键复制
关于 Makefile 速查 的常见问题
Makefile 速查能做什么?
Makefile 速查属于命令速查。Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制你可以直接在本页完成操作。
谁适合使用Makefile 速查?
需要处理与make · makefile · 构建 · 编译 · gcc · 自动化相关任务、又不想安装桌面软件的用户,可以把Makefile 速查当作即开即用的网页工具。
使用Makefile 速查安全吗?数据会上传吗?
该工具在浏览器本地运行。我们不会因为你使用Makefile 速查而收集你输入的内容。
还有哪些同类工具?
本页底部列出了同属命令速查的相关工具,方便对比选择。