标签:迁移 自动变量 套件 pre 自动 语法错误 处理 参考 注意
makefile 原来是C语言作为工程化处理的一个实用工具,然后慢慢的迁移到其他平台上了,而在工作中看到的确也有使用 makefile 来集成一些命令的功用。
target: prerequisities
[TAB]command
target就是你要执行的命令套件,prerequisties就是依赖,而command就是实际执行的命令,##必须注意:必须用TAB键来连接命令,如果使用了空格那么会报语法错误
例如:
ssh-dev:
ssh root@112.124.109.3
makefile 的解析过程
在makefile中,通常可以用"#"标识来作为注释
make 运行这段脚本时会输出命令内容 ssh root@112.124.109.3
$ make ssh-dev
ssh root@112.124.109.3
root@112.124.109.3's password:
如果你不想让make打印出来,可以在首行加上"@"表示取消回声.
ssh-dev:
@ssh root@112.124.109.3
声明
DIST_PATH=/root/ukee_admin_v3/dist
DEV_REMOTE_SERVER=root@112.124.109.3
使用
ssh-dev:
@ssh $(DEV_REMOTE_SERVER)
$@ 指代当前构建的目标
a.js b.js:
touch $@
//等价于:
a.js b.js:
touch a.js b.js;
//也等价于:
a.js:
touch a.js;
b.js:
touch b.js
$(filter-out $@,$(MAKECMDGOALS)) 指代参数
make ssh-dev 123
# 那么 $(filter-out $@,$(MAKECMDGOALS)) 实际上等同于 123
.PHONY: ssh-dev
标签:迁移 自动变量 套件 pre 自动 语法错误 处理 参考 注意
原文地址:https://www.cnblogs.com/everlose/p/12537445.html