ubuntu make 一键执行多条命令
时间: 2024-12-17 18:35:21 浏览: 2
Ubuntu下的`make`命令通常用于构建软件项目,它是由GNU自动工具套件(Autoconf、Automake和Makefile)支持的一种自动化构建系统。如果你想要在一个`make`任务中一次性执行多条命令,可以这样做:
1. **链式规则**(Sequential Execution):
在`makefile`中,你可以将多行命令放在一个规则下,并用分号(`;`)隔开。例如:
```
all: step1 step2 step3
step1:
command1
step2:
command2
step3:
command3
```
执行 `make all` 就会顺序执行`command1`, `command2`, 和 `command3`。
2. **依赖规则**(Dependencies):
如果命令之间有依赖关系,可以使用依赖文件(`.d`文件)或依赖规则(`.PHONY`)。例如:
```
%.out: %.cpp
g++ $< -o $@
clean:
rm *.out
# 使用依赖规则的方式一次性执行
all: build clean
build:
$(MAKE) -C subdirectory all
```
这里`all`目标会先执行`clean`,然后进入子目录`subdirectory`执行`build`中的所有命令。
3. **shell脚本**(Shell Scripting):
创建一个包含所有需要命令的bash脚本,然后在`make`中调用这个脚本。比如创建一个`script.sh`:
```sh
# script.sh
command1 && command2 && command3
```
然后在`makefile`中添加:
```
run_script:
bash script.sh
all: run_script
```
跑`make all`同样能执行所有命令。
阅读全文