0%

了解Makefile

在查看项目时,发现一些项目尤其后端项目有个Makefile文件,这样一些构建命令可以方便的封装调用。

之前没了解过该工具,这里mark下。

特点

  1. Mac/Linux天然支持,这样声明创建后,直接执行即可
    • shell文件的话,还需手动增加执行权限chmod +x *.sh
    • 项目中使用nodejs实现构建工具也行,但是毕竟还有环境依赖
  2. 支持变量传参

举个例子

1
2
3
# 构建前端镜像 make build version=1.0.0
build:
docker build -t stacker/web:v$(version) .

比如封装如上命令到Makefile,以后想打包新镜像文件,直接make build version=1.0.0即可

语法说明

  • 文件名推荐为Makefile,但也可以是makefile
  • 只支持单行注释
  • @开头命令声明,表示该命令输出结果不打印

参考配置

  1. https://gitlab.com/gnachman/iterm2/-/blob/master/Makefile