网上搜索无果,于是自己查看了一下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)新时,生成目标都将被认为太旧而需要被重新生成。

通常,上面的这两个目的正是你所需要的:当前提目标更新时,生成目标也需要更新。

Type II: 命令前提目标(order-only Prerequisites)
    偶尔的,我们会遇到这样的情况:我们需要执行某个或某些规则,但不能引起生成目标被重新生成。
   此时你就需要使用命令前提目标。命令前提目标由一个管道符号即竖线“|”指示,位于前提目标列表中。
   竖线左边的目标就是正常前提目标,竖线右边的目标就是命令前提目标,形式如下:
[java] view plain copy print?
target : normal-prerequisites | order-only-prerequisites  
竖线左边的正常前提目标列表可以是空。

注意:如果前提目标中同时存在正常前提目标和命令前提目标,则正常前提目标优先生成

Makefile依赖关系中的竖线“|”的更多相关文章

  1. Makefile中头文件在依赖关系中作用

    摘于:http://bbs.csdn.net/topics/120024677 (1)在makefile的依赖关系中用不用体现.h头文件?(2)如果在依赖关系中要体现.h头文件,应该体现到什么层次?= ...

  2. maven依赖关系中Scope的作用

      目前<scope>可以使用5个值: (1) compile (编译) compile是默认的范围:如果没有提供一个范围,那该依赖的范围就是编译范围.编译范围依赖在所有的classpat ...

  3. Makefile 9——为依赖关系文件建立依赖关系

    现在我们再对complicated项目做一些更改,增加程序文件间依赖关系的复杂度. /× main.c ×/ #include"foo.h" int main(void) { fo ...

  4. [UML]UML系列——类图class的依赖关系

    相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列—— ...

  5. [Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

    接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundl ...

  6. 类图class的依赖关系

    类图class的依赖关系 相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       ...

  7. 使用 Build Pipeline View 插件图表展示Jenkins job依赖关系

    使用 Build Pipeline View 查看Jenkins的Job的依赖关系图表 安装 Build Pipeline View 插件下载地址 下载后再jenkins的"插件管理&quo ...

  8. makefile自动生成依赖关系

    手工编写依赖关系不仅工作量大而且极易出现遗漏,更新也很难及时,修改源或头文件后makefile可能忘记修改.为了解决这个问题,可以用gcc的-M选项自动生成目标文件和源文件的依赖关系.-M选项会把包含 ...

  9. makefile 自动处理头文件的依赖关系 (zz)

    现在我们的Makefile写成这样: all: main main: main.o stack.o maze.ogcc $^ -o $@ main.o: main.h stack.h maze.hst ...

随机推荐

  1. element

    <el-table-column label="地址" prop="address"> <template slot-scope=" ...

  2. [ROS]一些传感器数据读取融合问题的思考

    思考问题: 1. 如何实现传感器数据的融合,或者说时间同步? 比如里程计读数和雷达数据融合? void SlamGMapping::startLiveSlam() { entropy_publishe ...

  3. SaltStack 数据系统 Grains Pillar

    grains 先来一个很好用的命令 # salt '*' grains.items \\基本上输出了所有你想要的信息 192.168.100.138: ---------- SSDs: biosrel ...

  4. Sqlserver2008R2配置数据库镜像之我的经验总结

    一. 相关环境介结. 数据库:Sqlserver2008R2    网络环境:主机.镜像机(阿里云,青岛节点同域),见证机(本公司自己托管在上海) 二. 服务器相关配置. 1. 分别开启三台服务器50 ...

  5. Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项

    1. 已经安装cuda但是tensorflow仍然使用cpu加速的问题 电脑上同时安装了GPU和CPU版本的TensorFlow,本来想用下面代码测试一下GPU程序,但无奈老是没有调用GPU. imp ...

  6. 等比数列二分求和(logn复杂度)

    看完这个之后,感觉数学简直太厉害了 转载自:http://blog.csdn.net/acdreamers/article/details/7851144 今天我们学习如何有效地求表达式的值.对于这个 ...

  7. equals和==的区别小结

    ==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...

  8. 如何控制TextBox的最打输入字符的长度

    TextBox控件本身有个maxlength属性,它可以限制TextBox中输入字符的最大长度,所以在只有字符输入的情况下,该属性可以很好的帮助我们达到限制输入长度的目的. 但如果输入包含中文或中英文 ...

  9. EL语言表达式 (三)【EL中的算术运算以及判断EL对象是否为空】

    一.EL中的算术运算 EL和其他语言一样,同样也提供了基本的算术运算(加.减.乘.除和取余),如下图. 运算符 功能 示例 结果 + 加 ${19+1} 20 - 减 ${66-30} 36 * 乘 ...

  10. 【AngularJS】解决ng-if中的ng-model值无效的问题(转)

    from:http://blog.csdn.net/u013451157/article/details/60866210 与其他指令一样,ng-if指令也会创建一个子级作用域,因此,如果在ng-if ...