SuperAPI AI 工具集

makefile

部署与运维

查看项目

更新于 10-15 10:59

技能介绍

用途

Makefile 技能用于通过 GNU Make 实现项目自动化与构建任务。当用户提出“创建 Makefile”“添加 make 目标”“用 make 自动化”“构建命令”等需求时,可参考本技能提供的模式与示例。

主要能力

  • 基础结构:定义变量(如 APP_NAME、VERSION)、设置默认目标(.DEFAULT_GOAL)、声明伪目标(.PHONY)、编写自动生成帮助的目标。
  • 开发工作流:提供 dev、build、test、lint、format、check 等常用目标示例,check 可依赖 lint 与 test。
  • Docker 目标:docker-build、docker-run、docker-push,使用 IMAGE_NAME 与 IMAGE_TAG 变量。
  • 数据库任务:db-up、db-down、db-migrate、db-seed,示例使用 docker compose 与 prisma 命令。
  • 环境搭建:setup、install、deps,setup 依赖 install 与 deps。
  • 变量:简单赋值(:=)、递归赋值(=)、条件赋值(?=)、ifeq 条件、export 环境变量。
  • 依赖与规则:目标依赖前置条件、模式规则(%.o: %.c)、仅顺序依赖(| bin)用于创建目录。
  • 条件分支:根据 uname 判断操作系统,选择 open 或 xdg-open。
  • 实用配方:包含其他文件(-include、include)、静默执行(@)、多行命令(\ 续行)、带参数运行(make run ARGS="--port 3000")。
  • 项目模板:给出包含变量、开发、Docker、工具等分区的完整 Makefile 模板。

使用方式

将技能中的示例代码复制到项目根目录的 Makefile 中,按需修改变量与命令。运行 make 或 make <目标> 执行对应任务。帮助目标通过 grep 与 awk 解析带 ## 注释的目标并输出说明。

适用场景

适用于需要统一构建、测试、部署命令的项目,尤其是使用 Go、Node.js、Docker、Prisma 等技术栈时。也可用于跨平台脚本封装与开发环境初始化。

限制

资料未提供该技能的具体安装方式、依赖要求、收费信息、支持平台范围及效果保证,这些内容暂未提供。示例中的命令(如 brew、go、npm、docker、prisma、aws)需用户环境已具备相应工具。