Makefile依赖关系中的竖线“|”
来源:互联网 发布:交换机端口标签 编辑:程序博客网 时间:2024/05/01 23:15
近日在阅读一个Makefile的时候发现一个依赖关系中有竖线“|”的写法,
网上搜索无果,于是自己查看了一下makefile的info文件,其中解释如下:
[java] view plain copy print?
target : prerequisites
[TAB]command1
[TAB]command2
[TAB]...
[TAB]commandN
其中的[TAB]就是键盘上的Tab键,不可以用空格替代,这些Makefile的常识,这里就不赘述。
makefile.info中 4.3 Types of Prerequisites中介绍了两种类型的前提目标(Prerequisites)
原文翻译如下:
事实上make工具能理解两种类型的前提目标:
Type I: 正常前提目标(Normal Prerequisites)
正常前提目标能达成两个目的:
1. 影响build command执行顺序,即:在生成目标(target)的命令被执行前,所有的需要生成的前提目标(Prerequisites)的命令都需要被执行。
2. 影响依赖关系,即:如果任何一个前提目标(Prerequisites)比生成目标(target)新时,生成目标都将被认为太旧而需要被重新生成。
偶尔的,我们会遇到这样的情况:我们需要执行某个或某些规则,但不能引起生成目标被重新生成。
此时你就需要使用命令前提目标。命令前提目标由一个管道符号即竖线“|”指示,位于前提目标列表中。
竖线左边的目标就是正常前提目标,竖线右边的目标就是命令前提目标,形式如下:
[java] view plain copy print?
target : normal-prerequisites | order-only-prerequisites
竖线左边的正常前提目标列表可以是空。
注意:如果前提目标中同时存在正常前提目标和命令前提目标,则正常前提目标优先生成。
网上搜索无果,于是自己查看了一下makefile的info文件,其中解释如下:
[java] view plain copy print?
target : prerequisites
[TAB]command1
[TAB]command2
[TAB]...
[TAB]commandN
其中的[TAB]就是键盘上的Tab键,不可以用空格替代,这些Makefile的常识,这里就不赘述。
makefile.info中 4.3 Types of Prerequisites中介绍了两种类型的前提目标(Prerequisites)
原文翻译如下:
事实上make工具能理解两种类型的前提目标:
Type I: 正常前提目标(Normal Prerequisites)
正常前提目标能达成两个目的:
1. 影响build command执行顺序,即:在生成目标(target)的命令被执行前,所有的需要生成的前提目标(Prerequisites)的命令都需要被执行。
2. 影响依赖关系,即:如果任何一个前提目标(Prerequisites)比生成目标(target)新时,生成目标都将被认为太旧而需要被重新生成。
通常,上面的这两个目的正是你所需要的:当前提目标更新时,生成目标也需要更新。
偶尔的,我们会遇到这样的情况:我们需要执行某个或某些规则,但不能引起生成目标被重新生成。
此时你就需要使用命令前提目标。命令前提目标由一个管道符号即竖线“|”指示,位于前提目标列表中。
竖线左边的目标就是正常前提目标,竖线右边的目标就是命令前提目标,形式如下:
[java] view plain copy print?
target : normal-prerequisites | order-only-prerequisites
竖线左边的正常前提目标列表可以是空。
注意:如果前提目标中同时存在正常前提目标和命令前提目标,则正常前提目标优先生成。
0 0
- Makefile依赖关系中的竖线“|”
- Makefile依赖关系中的竖线“|”
- Makefile依赖关系中的竖线“|”
- 用GCC生成makefile中的依赖关系
- makefile自动生成依赖关系
- makefile自动产生依赖关系
- 自动生成依赖关系的Makefile实例
- 让Makefile自动推导依赖关系
- MakeFile规则(二):自动生成依赖关系
- Makefile的.a 文件的依赖关系
- makefile 自动生成头文件依赖关系
- 再看UML中的依赖关系
- css中的竖线表示
- 转贴:[精华] makefile中的自动依赖
- makefile中的多target混乱依赖模式
- Linux下用Makefile自动生成依赖关系
- makefile 自动处理头文件的依赖关系
- Makefile基础---自动处理头文件的依赖关系
- Ubuntu16.04 gedit 中文乱码
- iOS版本《六爻八卦算命》
- 激活IntelliJ插件Jrebel Social并配置热部署
- 初识JAVA
- hdu 5050 矩阵快速幂
- Makefile依赖关系中的竖线“|”
- 关于reactjs
- Codeforces Round #367 (Div. 2) E. Working routine (十字链表)
- POJ2506Tiling
- [AngularJS面面观] 22. 依赖注入 --- 配置队列以及运行队列
- 判断两个字符串是否互为旋转词
- JZOJ8.13数字游戏
- python_openCV学习笔记(1) 绘制openCV的logo
- Http协议