Make 的工作方式

GNU 的 make 工作时的执行步骤入下:

1、读入所有的 Makefile。

2、读入被 include 的其它 Makefile。

3、初始化文件中的变量。

4、推导隐晦规则,并分析所有规则。

5、为所有的目标文件创建依赖关系链。

6、根据依赖关系,决定哪些目标要重新生成。

7、执行生成命令。

1-5 步为第一个阶段,6-7 为第二个阶段。第一个阶段中,如果定义的变量被使用了, make 会把其展开在使用的位置。但 make 并不会完全马上展开,make 使用的是拖延战术,如果变量出现在依赖关系的规则中,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。

Makefile_07:Make 的工作方式相关推荐

  1. Buffer的工作方式

    1.Buffer的工作方式 前面<java NIO的工作方式>介绍了Selector检测到通信信道I/O有数据传输时,通过select()方法取得SocketChannel,将数据读取或写 ...

  2. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  3. 30岁找不到工作很绝望_计算机为绝望的新编码员工作方式的快速指南

    30岁找不到工作很绝望 by Danielle Ormshaw 丹妮尔·欧姆肖(Danielle Ormshaw) 计算机为绝望的新编码员工作方式的快速指南 (The quick guide to t ...

  4. 超越Android:Kotlin在后端的工作方式

    by Adam Arold 亚当·阿罗德(Adam Arold) 超越Android:Kotlin在后端的工作方式 (Going Beyond Android: how Kotlin works on ...

  5. 开源许可证 如何工作_开源许可证的工作方式以及如何将其添加到您的项目中...

    开源许可证 如何工作 by Radu Raicea 由Radu Raicea 开源许可证的工作方式以及如何将其添加到您的项目中 (How open source licenses work and h ...

  6. 《编译与反编译技术实战》——2.1节编译器、解释器及其工作方式

    本节书摘来自华章社区<编译与反编译技术实战>一书中的第2章,第2.1节编译器.解释器及其工作方式,作者刘晓楠 陶红伟 岳 峰 戴超,更多章节内容可以访问云栖社区"华章社区&quo ...

  7. Makefile —— Makefile的规则是什么?make是如何工作的?make的工作方式是什么?

    #1.Makefile的规则: #   target... : prerequisites... #        command target是:[目标文件:包含执行文件edit与中间目标文件(*. ...

  8. 使用 Git 改进工作方式

    为什么80%的码农都做不了架构师?>>>    一.什么是 Git 请自行 google 二.Git 与 SVN http://www.jianshu.com/p/bfec04234 ...

  9. Apache下PHP的几种工作方式

    PHP在Apache中一共有三种工作方式:CGI模式.Apache模块DLL.FastCGI模式. 一.CGI模式 PHP 在 Apache 2中的 CGI模式.编辑Apache 配置文件httpd. ...

最新文章

  1. 微信小程序(canvas)画图保存到本地相册(wepy)
  2. stm32 web 参数_老司机们都是怎么学习STM32的?
  3. appium+python 操作APP
  4. 寓言故事中隐藏的10个成功秘诀
  5. springboot java获取版本号_深入实践Spring Boot 实战篇,大佬整理出的PDF文档
  6. java maven 项目依赖关系,java – 关于依赖关系共享的Maven多模块项目组合
  7. 软件测试面试-测试的目的是什么?【高频】
  8. Eclipse中,Open Type(Ctrl+Shift+T)失效后做法。
  9. python vue token_Flask与Vue的token认证
  10. springSecurity jwt 如何融合
  11. DevExpress XtraReports 入门五 创建交叉表报表
  12. 【原创】常用元器件选型目录-cayden(待续)
  13. Java初级工程师的面试自我介绍模板(仅供参考)
  14. 电动48V/60V自行车/摩托车/观光车电池检测设备,满足GB38031新国标测试
  15. linux用户态和内核态堆栈,Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
  16. Database of Fog
  17. Android 关机时的radio相关关闭流程
  18. deepin 安装git
  19. JRRTokenGazer分享会:去中心化提高经济效率,产业区块链前景广阔
  20. PHP实现周和月起止时间计算方法

热门文章

  1. PHP将英文数字转换为阿拉伯数字 
  2. Beamer 目录分栏
  3. PE知识复习之PE的两种状态
  4. 7-2一元多项式的乘法与加法运算
  5. RabbitMQ发布订阅实战-实现延时重试队列
  6. Docker入门 一 安装Docker
  7. 国外centos服务器配置epel源
  8. 使用母版页时内容页如何使用css和javascript
  9. 数据结构 · 二叉树遍历
  10. Mac OS使用技巧十九:Safari碉堡功能之二查看网页源代码