Makefile 速查

Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制

Makefile 速查是一款免费在线命令速查。Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制常见相关词:make · makefile · 构建 · 编译 · gcc · 自动化。本页可直接使用,不必注册。

共 21 个脚本

安全规则target

最简单的规则

target(目标): 依赖文件,缩进一行(必须是 Tab)写命令。运行 make target 执行。

安全phonyclean

伪目标 .PHONY

clean、install 等目标不对应文件,声明为 .PHONY 避免与同名文件冲突,也防止 make 认为已是最新而跳过。

安全all默认目标

默认目标 all

不指定目标时 make 执行第一个目标;约定俗成用 all 作为总入口。

注意双冒号多条规则

双冒号规则

同一目标可写多条双冒号规则,每条独立执行;普通单冒号规则同一目标只允许一条。

安全变量CC

变量定义与引用

= 延迟展开;:= 立即展开;?= 未定义才赋值;+= 追加。引用用 $(VAR) 或 ${VAR}。

安全override命令行

命令行覆盖变量

命令行传入的变量会覆盖 Makefile 内赋值;用 override 强制 Makefile 内值优先。

安全export环境变量

导出变量到子进程

export 将变量传给子 make 或 shell 命令;unexport 取消导出。

安全展开递归变量

= 与 := 的区别

= 延迟展开(使用时才求值),:= 立即展开(赋值时求值)。递归变量会多次展开。

安全$@$<

常用自动变量

$@ 目标、$< 第一个依赖、$^ 全部依赖、$? 比目标新的依赖、$* 去掉后缀的目标名。

安全$( @D )目录

$(@D) 与 $(@F) 目录/文件名

$(@D) 目标的目录部分,$(@F) 目标的文件名部分;同理 $(<D) $(<F) 对应依赖。

安全$*$%

$* 与 $% 特殊变量

$* 模式规则中去掉后缀的骨干部分;$% 用于归档成员规则时取成员名。

安全wildcardpatsubst

wildcard 通配文件

$(wildcard pattern) 展开匹配的文件列表,常与 patsubst 配合收集源文件。

安全foreach遍历

foreach 遍历

$(foreach var, list, text) 对列表逐项展开。常用于生成多目标。

安全filter筛选

filter / filter-out 筛选

filter 保留匹配模式的词,filter-out 剔除匹配模式的词,可用于分离不同源文件。

安全shellgit

shell 函数执行命令

$(shell cmd) 在构建前执行 shell 命令并把输出作为变量值。注意:不要滥用,影响可移植性。

安全ifeq条件

ifeq / else / endif 条件

make 内建条件判断:ifeq/ifneq/ifdef/ifndef,在解析时求值,可控制变量与目标。

安全多目标批量

多目标与隐式批量

同一规则可写多个目标;配合模式规则或 foreach 批量生成。

注意C模板

C 项目模板

经典 C 项目 Makefile:自动收集源文件、目录结构清晰、支持 clean。

安全Go模板

Go 项目模板

Go 项目常用命令封装:构建、测试、lint、清理,支持交叉编译。

安全Node前端

Node.js 项目模板

前端/Node 项目常用任务:安装依赖、构建、测试、发布。

高危dockercompose

Docker 编排模板

用 Makefile 封装 docker compose 常用操作,简化记忆。

使用帮助

使用说明

  1. 左侧选择分类(基础规则、变量、常用函数、自动变量、实战模板等)
  2. 在搜索框输入关键词查找写法
  3. 点击卡片查看完整示例
  4. 点击「复制」粘贴到自己的 Makefile 中使用

常见问题

  • 红色标签是什么? 标有红色「高危」的写法(如 rm -rf 清理规则)可能误删文件,使用前请确认路径
  • 和 CMake 什么关系? CMake 是生成构建系统的工具,Make 是执行构建的工具,二者常配合使用
  • Tab 还是空格? Makefile 规则命令行必须使用 Tab 缩进,这是最常见的报错原因

更多命令速查

查看全部

关于 Makefile 速查 的常见问题

Makefile 速查能做什么?

Makefile 速查属于命令速查。Makefile 常用写法速查:变量、规则、函数、自动变量,一键复制你可以直接在本页完成操作。

谁适合使用Makefile 速查?

需要处理与make · makefile · 构建 · 编译 · gcc · 自动化相关任务、又不想安装桌面软件的用户,可以把Makefile 速查当作即开即用的网页工具。

使用Makefile 速查安全吗?数据会上传吗?

该工具在浏览器本地运行。我们不会因为你使用Makefile 速查而收集你输入的内容。

还有哪些同类工具?

本页底部列出了同属命令速查的相关工具,方便对比选择。