热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《Makefile进阶之路三》这里有你对Makefile所有的畅想

前两篇介绍了Makefile的基本语法和一些小技巧,如果你仅仅是为了了解Makefile的知识,那么就可以到此为止了。以下将介绍Makefile的细节综述,带领真正需要深刻了解Makefile的同

  前两篇介绍了Makefile的基本语法和一些小技巧,如果你仅仅是为了了解Makefile的知识,那么就可以到此为止了。以下将介绍Makefile的细节综述,带领真正需要深刻了解Makefile的同志一步步修炼成仙。为了摆脱误人子弟的嫌疑,我贴出Makefiel手册,自行选择阅读。手册 提取码yaff 

 好的,下面是从入门到放弃教程。

下面的部分内容可能前面已经讲过,但是还是希望新手再次阅读,因为手册描述十分的清晰经典,另外,听说,Makefile编写出神入化,能够呼风唤雨,白日飞升 :)

-------------------------以下为正文

3.1 Makefile内容

  完整的Makefile总共包括五部分内容:显式规则、隐含规则、变量定义、指示符和注释。

  1. 显式规则:它描述了在何种情况下如何更新一个或者多个被称为目标的文件(Makefile 的目标文件)。书写 Makefile 时需要明确地给出目标文件、目标的依赖文件列表以及更新目标文件所需要的命令(有些规则没有命令,这样的规则只是纯粹的描述了文件之间的依赖关系)。

  2. 隐含规则:它是make根据一类目标文件(典型的是根据文件名的后缀)而自动推导出来的规则。make根据目标文件的名,自动产生目标的依赖文件并使用默认的命令来对目标进行更新(建立一个规则)。

  3. 变量定义:使用一个字符或字符串代表一段文本串,当定义了一个变量以后,Makefile后续在需要使用此文本串的地方,通过引用这个变量来实现对文本串的使用。

  4. Makefile 指示符:指示符指明在 make 程序读取 makefile 文件过程中所要执行的一个动作。

    1.读取一个文件,读取给定文件名的文件,将其内容作为makefile文件的一部分。

    2.决定(通常是根据一个变量的得值)处理或者忽略Makefile中的某一特定部分。

    3.定义一个多行变量

  5. 注释:Makefile 中“#”字符后的内容被作为是注释内容(和 shell 脚本一样)处理。

 


推荐阅读
  • U-Boot、Kernel、Rootfs概述(uboot nfs命令)
    本文主要介绍关于网络,uboot,内核,根文件系统的知识点,对【U-Boot、Kernel、Rootfs概述】和【ubootnfs命令】有兴趣的朋友可以看下由【洛星洛】投稿的技术文章,希望该技术和经 ... [详细]
  • [转]Makefile 使用总结
    2019独角兽企业重金招聘Python工程师标准1.Makefile简介Makefile是和make命令一起配合使用的.很多大型项目的编译都是通过Makefile来组织的,如 ... [详细]
  • Linux 程序设计学习笔记----动手编写makefile文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在Linux系统中利用crontab定时执行Shell脚本任务?
    在Linux系统中,如何实现定时执行任务脚本?在服务器日常运维过程中,经常需要定期执行某些任务,例如数据库备份、日志文件切割等。通过使用crontab工具,可以轻松配置这些周期性任务,确保它们按时自动运行,提高系统管理效率和可靠性。 ... [详细]
  • Shell 脚本中的数学运算与变量引用(第三部分)
    在本文中,我们将深入探讨 Shell 脚本中的数学运算和变量引用。Shell 提供了多种方法来进行数学计算,主要包括 `expr`、`$(( ))` 和 `let`。我们将详细解析这三种方法的具体应用和特点,帮助读者更好地理解和使用这些工具。 ... [详细]
  • 如何在Windows 10中设置自动清空回收站功能?
    在Windows 10中,如何设置自动清空回收站的功能?许多用户近期提出了这一疑问。为了确保系统运行顺畅,定期清理回收站中的文件是必要的。本文将详细介绍如何通过任务计划程序等方法,实现回收站的自动清空,帮助用户有效管理磁盘空间。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 在《孙鑫VC++讲座笔记第三讲》中,深入探讨了MFC应用程序的架构,并详细解析了SDI程序的流程图。AfxWinMain()函数位于WINMAIN.CPP文件中,其主要职责包括调用AfxWinInit()进行框架初始化,以及通过pApp->InitApplication()执行应用内部的初始化过程。此外,还详细分析了各个关键函数的作用及其在程序启动过程中的具体功能。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • PyFasterRCNN配置详解与优化指南
    本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。 1.下载工程gitclone--recursivehttps:github.comr ... [详细]
  • 如何判断电容好坏?
    关注+星标公众号,不错过精彩内容来源 | 电子电路怎样测量小容量电容的好坏?1、检测10pF以下的小电容,因10pF以下的固定电容器容量太小,如果用指针式用万用表进行测量,只能定性 ... [详细]
  • 安装flume
    解压flume压缩包到指定目录内:tar-zxvfflume-n ... [详细]
  • 今天看鸟哥的yaf的一个demo,在入口文件中,作者有这么一个定义:define(DS,);define(APP_PATH,dirname ... [详细]
  • 安装windows下载扩展:https:pecl.php.netpackageyaf2.2.9windows根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是 ... [详细]
  • Kong插件开发向导
    Kong插件开发向导转载李亚飞大佬的文章:https:www.lyafei.com简介前面洋洋洒洒写了那么多文章,Kong搭建、Konga搭建、Kong插件开发工具包、Lua算法实 ... [详细]
author-avatar
mobiledu2502860153
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有