参考 stackoverflow 的例子:

http://stackoverflow.com/questions/5426934/why-this-makefile-removes-my-goal

下面的 :

%.txt: foo.log  #pass%.log:  #pass  

运行时,用 make  a.txt --dry-run, 会得到如下的结果:

#pass

#pass

rm foo.log

也就是说, 中间文件 foo.log 被删除。

但是,如果改为:

all: foo.log  #pass%.log:  #pass

这时候,再运行 make  --dry-run, 会得到如下的结果:

#pass

#pass

也就是说 foo.log 想成为中间文件,是需要条件的。

接着再看 .PRECIOUS 的作用:

.PRECIOUS: %.log
%.txt:foo.log#pass
%.log:#pass

make a.txt --dry-run

执行结果:

#pass

#pass

在 .PRECIOUS 中声明的文件,没有被删除。

对 makefile 中 .PRECIOUS 的学习相关推荐

  1. 对 makefile 中 .NOTPARALLE 的学习体会

    上例子 事先准备好三个脚本: a01.sh b01.sh c01.sh: 脚本内容如下, 即每睡眠一秒钟后再输出内容: a01.sh for ((i=0;i<10;i++)); do@echo ...

  2. 对 makefile 中 $(MAKE) 的学习体会

    上例子 主 Makefile内容: SUBDIRS=foo bar baz subdirs: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir; \ done 当 ...

  3. 对 makefile 中 .SUFFIXES 的学习体会

    当前目录中存在 gao.g 文件(其实际内容是一个简单的C语言程序) 先是用如下的例子来看:例子一 .SUFFIXES: .SUFFIXES: .g .oLIBS=gao.oall: $(LIBS)% ...

  4. 对 makefile 中 .SECONDARY 的学习体会

    上例子 LIBS=foo.gao bar.gao .INTERMEDIATE:$(LIBS) .SECONDARY:bar.gao all: $(LIBS) #pass foo.gao: @echo ...

  5. 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下

    加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 继续上一篇文章关于变量的学习! 1.环境变量(全局变量) -makefile中能够直接使用环境变量的值 如果make ...

  6. 【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上

    抓住基础,学习更多技术,迎接挑战,加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 上一篇文章学习了makefile中的预定义变量的使用,今天来继续学习makefil ...

  7. Linux学习笔记-Makefile中的变量及函数

    Makefile中的变量 此处的变量不是C/C++,Java等中的变量(认为他是一个字符串就阔以了) 一般变量名用大写字母来写,如下所属: SUBDIR = src xml SUBDIR += osa ...

  8. C语言高级技巧-在Makefile中引用你的头文件

    在Makefile中添加头文 代码仓库:Makefile中添加头文件引用 我们常这样写C程序: #inlcude <stdio.h>int main(int argc, char *arg ...

  9. Linux Makefile 中的陷阱【转】

    转自:https://blog.csdn.net/QQ1452008/article/details/52247944 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...

最新文章

  1. python08-类与对象
  2. 《数学之美》第1章 文字和语言 vs 数字和信息
  3. 纯html css博客,纯HTML+CSS打造动画
  4. 鸿蒙系统平板界面,华为鸿蒙系统界面首次曝光!首款预装鸿蒙设备正式入网:发布在即...
  5. java 中parse_Java中parse()和valueOf(),toString()的区别?
  6. .net oracle 参数化,.NET参数化Oracle查询参数
  7. vue.js v-on
  8. Tomcat学习总结(13)—— Tomcat常用参数配置说明
  9. LeetCode数据库 180. 连续出现的数字
  10. 智慧楼宇管理后台、运维配置、设备台账、设备管理、维保统计、巡检统计、维修工单、报修统计、电子巡更、智能楼宇运营、运营后台、智慧社区、楼宇设备监控管理端、智能社区管理系统、楼宇运维管理系统
  11. LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
  12. Oracle 中给表添加主键、外键
  13. 线性移位寄存器序列(m序列)之MATLAB实现
  14. Android手机号码归属地查询
  15. 不能显示隐藏文件解决方法
  16. 姜小白的Python日记Day10 装饰器
  17. 现代教育技术没有计算机基础知识教程,浅析现代教育技术在专科计算机基础课教学中的应用...
  18. 鼠标手--IT人士/电脑使用者、网民的职业病,给网友们提个醒
  19. 怎么样查看视图+mysql_如何查看视图的sql语句
  20. 规模指数介绍,如何使用Python获取数据

热门文章

  1. php 5.2.17 mysql_Apache 2.2.15 整合php 5.2.17 Mysql-5.5.8
  2. dr.oracle素颜霜好用吗,dr.jart+ V7素颜霜怎么样?不适合干皮
  3. usb serial converter驱动安装_让你到期的机顶盒再发挥余热,终极办法任意安装软件,三网可用...
  4. juniper srx 出口负载均衡_直流微电网负载均流控制的新策略
  5. js layui 弹出子窗体_Layui中JS实现弹出层的应用
  6. 解决Windows与虚拟机ubuntu之间相互直接拖动文件
  7. 值得关注!一种新型脑机接口--集成光子芯片的脑机接口是否可行?
  8. 双脑协同RSVP目标检测
  9. GIF发明者感染新冠后去世,没有他就没有表情包
  10. 帮腾讯云拿下行业第一的程序员们,不穿格子衫和人字拖