Makefile学习笔记<显示/隐藏命令 忽略命令错误>
来源:互联网 发布:吸入麻醉药七氟烷mac值 编辑:程序博客网 时间:2024/06/03 20:34
1.显示命令:
一般默认make会把命令原样显示出来后再去执行命令,如果我们不需要原样显示命令,则可以在命令前面加一个“@”, 如:
echo building target...
make执行时会输出:
echo building target...building target...
如果在命令前加了”@”,则不会把命令原样输出:
@echo building target...
make执行时实际在终端看到的输出显示是:
building target...
在调试自己写发Makefile时往往想知道自己写的对不对,但又不想执行Makefile中的命令,而是只想看看自己写的这些命令执行的顺序对不对,这是该怎么办呢?
幸运的是make为我们提供了参数“-n”或者“–just-print”,只要在执行make时在其后面加上该参数即可。如
#:make -n <targetName>
如果嫌执行make后会有大量命令显示刷屏,可以在执行make后面添加参数
“-s”或“–slient”,这样就不会显示任何命令了。 如:
#:make -s <targetName>
2.忽略出错的命令:
如果不希望某条命令因为出错了而导致整个make执行被终止,可以在命令前面加上“-”,表示不管该命令出不出错,后面的命令都将继续执行下去。如:
mkdir dir
如果不加“-”并且dir已经存在,则这条命令就会出错,并将导致整个make执行被终止。
要想不被终止,则要改成:
-mkdir dir
另外,make还有全局的办法:
a. 给make加上参数“-i”或“–ignore-errors”,那么Makefile中的所欲命令都会被忽略错误。如:
make -i <targetName>
b.如果一个规则是以“.IGNORE”作为目标的,那么这个规则中所有命令都将会忽略错误。如:
.PHONY:clean clean1 .IGNORE clean2clean:clean1 .IGNORE clean2clean1: -rm test $(objs).IGNORE: rm xxxxclean2: -rm test2 $(objs2)
假设目标 test
$ make cleanrm test test.orm xxxxrm: cannot remove ‘xxxx’: No such file or directorymake: [.IGNORE] Error 1 (ignored)rm test2 test2.o
如果这里的目标不是.IGNORE,那么执行make clean时就会因为rm xxxx出错而终止,后面的clean2规则的命令不会再被执行了。
:
$ make cleanrm test test.orm xxxxrm: cannot remove ‘xxxx’: No such file or directorymake: *** [clean3] Error 1
c.给make加上参数”-k”或者“–keep-going”,那么如果makefile中某规则中的命令出错了,make会终止改规则的执行,但继续执行接下来的其他规则。如:
make -k <targetName>
- Makefile学习笔记<显示/隐藏命令 忽略命令错误>
- makefile之显示命令
- XCOPY命令默认忽略隐藏文件
- 显示隐藏文件的命令
- Mac显示隐藏文件命令
- 显示/隐藏Mac隐藏文件命令
- Mac os 显示/隐藏 隐藏文件命令
- 显示/隐藏Mac隐藏文件命令
- mac 显示隐藏 隐藏文件的命令
- MySQL学习笔记一:常用显示命令
- Linux学习笔记--less命令(显示文件内容的命令)
- Linux学习笔记--ps命令(显示当前进程的命令)
- [004-Makefile-笔记] Makefile规则的命令
- Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- Makefile:xxx: recipe for target xxx failed +如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- Makefile学习之书写命令
- linux命令 sed Makefile学习
- Java进阶(九)正则表达式
- 欢迎加入XiyouLinuxGroup邮件列表
- myeclipse 调大jvm 内存
- Java内置Logger的项目级完整代码使用流程
- 解决微云登陆出现wns login error的问题
- Makefile学习笔记<显示/隐藏命令 忽略命令错误>
- java线程池
- 编号范围维护综述
- spring容器的DI(依赖注入)xml版
- Node.js实战 建立简单的Web服务器
- [摘抄-Socket-学习中]socket监听本地IP(INADDR_ANY)以及获取本地IP地址
- 75. Sort Colors
- 希尔排序算法
- 字符串