make/makefile中的加号+,减号-和at号@的含义
2015-10-16 17:47
281 查看
http://www.cnblogs.com/leaven/p/4337628.html
http://www.crifan.com/order_make__makefile_in_the_plus__minus_-_and_at_the_meaning_of_numbers/
在看makefile,其中有些依赖规则中的命令行前面,会有一些减号“-”或者at符号“@”,
比如:
distclean: mrproper
-rm -f user/tinylogin/applet_source_list user/tinylogin/config.h
对其含义不是很清楚,所以去找了找。
【make/makefile中的加号+,减号-和at号@的含义】
原先以为,命令行前面加上减号等做法,是属于makefile中的规则,
就像这里:
http://www.cublog.cn/u3/102001/showart_2277987.html
说的那样:
“有些命令会在开头加一个’-‘,作用是发生错误时Makefile继续”
后来才知道,原来这个做法,其实是Linux中的Shell中的规则,具体含义为:
http://www.kuqin.com/aixcmds/aixcmds3/make.htm
shell 命令
每个目标都可以具有与其关联的一系列 shell 命令,这些命令通常用来创建目标。此脚本中的每一条命令都必须以制表符开始。虽然任何目标都能够显示在相关性行上,但除非使用 :: 操作符,否则这些相关性中只有一个能够通过创建脚本来跟随。
如果命令行的第一个或前两个字符是 @ (at 符号)、-(连字符)和 +(加号)这几个符号之一或全部,那么将特别处理该命令,如下:
所以,简单的说就是:
【make中命令行前面加上减号】
就是,忽略当前此行命令执行时候所遇到的错误。
而如果不忽略,make在执行命令的时候,如果遇到error,会退出执行的,加上减号的目的,是即便此行命令执行中出错,比如删除一个不存在的文件等,那么也不要管,继续执行make。
【make中命令行前面加上at符号@】
就是,在make执行时候,输出的信息中,不要显示此行命令。
而正常情况下,make执行过程中,都是会显示其所执行的任何的命令的。如果你不想要显示某行的命令,那么就在其前面加上@符号即可。
【make中命令行前面加上加号+】
对于命令行前面加上加号+的含义,目前还是不是很清楚。
http://www.crifan.com/order_make__makefile_in_the_plus__minus_-_and_at_the_meaning_of_numbers/
在看makefile,其中有些依赖规则中的命令行前面,会有一些减号“-”或者at符号“@”,
比如:
distclean: mrproper
-rm -f user/tinylogin/applet_source_list user/tinylogin/config.h
对其含义不是很清楚,所以去找了找。
【make/makefile中的加号+,减号-和at号@的含义】
原先以为,命令行前面加上减号等做法,是属于makefile中的规则,
就像这里:
http://www.cublog.cn/u3/102001/showart_2277987.html
说的那样:
“有些命令会在开头加一个’-‘,作用是发生错误时Makefile继续”
后来才知道,原来这个做法,其实是Linux中的Shell中的规则,具体含义为:
http://www.kuqin.com/aixcmds/aixcmds3/make.htm
shell 命令
每个目标都可以具有与其关联的一系列 shell 命令,这些命令通常用来创建目标。此脚本中的每一条命令都必须以制表符开始。虽然任何目标都能够显示在相关性行上,但除非使用 :: 操作符,否则这些相关性中只有一个能够通过创建脚本来跟随。
如果命令行的第一个或前两个字符是 @ (at 符号)、-(连字符)和 +(加号)这几个符号之一或全部,那么将特别处理该命令,如下:
@ | 使命令在被执行前不被回显。 |
- | 使任何命令行的任何非零退出状态都被忽略。 |
+ | 使命令行可以通过指定 -n、-q 或 -t 选项来执行。 |
【make中命令行前面加上减号】
就是,忽略当前此行命令执行时候所遇到的错误。
而如果不忽略,make在执行命令的时候,如果遇到error,会退出执行的,加上减号的目的,是即便此行命令执行中出错,比如删除一个不存在的文件等,那么也不要管,继续执行make。
【make中命令行前面加上at符号@】
就是,在make执行时候,输出的信息中,不要显示此行命令。
而正常情况下,make执行过程中,都是会显示其所执行的任何的命令的。如果你不想要显示某行的命令,那么就在其前面加上@符号即可。
【make中命令行前面加上加号+】
对于命令行前面加上加号+的含义,目前还是不是很清楚。
相关文章推荐
- EventBus(二)
- Oracle中insert into select from用法、table (fn_split())用法、select中的as扩展替代字段用法、Oracle序列
- WINDOWS消息和窗口简介
- javaweb开发错误笔记总结
- 20151015企业招工与县城工业产值增长率问题
- 在Spring环境中建立JPA Spring JPA 提供了三种方法创建JPA EntityManagerFactory:
- Meet-in-the-middle思想的一些应用
- 让Node模块在浏览器运行----browserify
- Adroid记录
- java 获取字符串安全截取长度
- Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
- ubuntu adb 连接不弹出授权对话框问题
- 利用Jquery实现页面上div的拖动及位置保存
- $.ajax()方法参数总结
- 获取android SDCard存储大小
- iOS开发009 iOS快速简单集成微信QQ微博分享
- 为什么要写用户体验
- 使用dnsmasq搭建wifi热点DHCP服务器的最简方法
- 100 年内,谁将统一人类走向宇宙?(深度、烧脑)
- C#学习之GDI + 图形编程基础(一)