所谓终极目标就是make最终所要重建的、 Makefile中某个规则的目标。为了完成
对终极目标的重建,可能会触发它的依赖或者依赖的依赖文件被重建的过程。默认情况
下,终极目标就是出现在Makefile中,除以点号“.”开始的第一个规则中的第一个目标
(如果第一个规则存在多个目标)。在Makefile所在的目录下执行“make”时,将完成对默认终极目标的重建。另外,也可
以通过命令行将一个 Makefile 中的目标指定为此次 make 过程的终极目标,而不是默认
的终极目标,格式为 “makeTARGET_NAME”,如:“make clean”。使用这种方式,我们也可
以同时指定多个多个终极目标。也可以指定一个 Makefile 中不存在的目标作为终极目标,前提是存在一个对应的隐含规则
能够实现对这个目标的 make。例如:目录“src” 下存在一个.c 的源文件“foo.c”,在 Makefile                                                       中不存在目标“foo”或者次目录下就没有 makefile 文件,为了编译“foo.c”生成可执行的“foo”。
只需要将“foo”作为 make 的参数执行:“make foo”就可以实现编译“foo”的目的。make 执行时设置一个特殊变量“MAKECMDGOALS”,此变量记录了命令行参数指定的终极目标列表,没有
通过参数指定终极目标时此变量为空。注意:此变量仅限于用在特殊的场合(比如判断),在 Makeifle 中最                                                好不要对它进行重新定义!例如:
sources = foo.c bar.c
ifneq ($(MAKECMDGOALS),clean)
include $(sources:.c=.d)
endif

makefile终极目标相关推荐

  1. 浅显易懂 Makefile 入门 (12)— Makefile 常见的错误信息

    1. 常见的错误信息 make 执行过程中所产生错误并不都是致命的,特别是在命令行之前存在 -.或者 make 使用 -k 选项执行时. make 执行过程的致命错误都带有前缀字符串 ***.错误信息 ...

  2. 浅显易懂 Makefile 入门 (09)— include 文件包含、MAKECMDGOALS

    1. include文件包含 当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makefile ...

  3. 浅显易懂 Makefile 入门 (01)— 什么是Makefile、为什么要用Makefile、Makefile规则、Makefile流程如何实现增量编译

    1. 什么是 Makefile Makefile 文件描述了 Linux 系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目.一旦写编写好 Makefile 文件,只需要一个 ma ...

  4. makefile学习(转载)

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...

  5. Makefile语法基础介绍

    在Linux下,make是一个命令工具,是一个解释Makefile中指令的命令工具.make命令执行时,需要一个Makefile文件,以告诉make命令需要怎么样去编译和链接程序. make如何工作: ...

  6. .PHONY makefile中的伪目标

    拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean ========= ...

  7. makefile文件编写教程

    技术交流QQ群:1027579432,欢迎你的加入! 1.make介绍 gcc:编译器(gcc根据菜谱进行编译) make: linux自带的构建器(相当于一个菜谱) 构建的规则(菜谱)在makefi ...

  8. makefile ifneq多个判断条件_一文入门Makefile

    1. 什么是Makefile 一个企业级项目,通常会有很多源文件,有时也会按功能.类型.模块分门别类的放在不同的目录中,有时候也会在一个目录里存放了多个程序的源代码. 这时,如何对这些代码的编译就成了 ...

  9. Makefile中指示符“include”、“-include”和“sinclude”的区别

    指示符"include"."-include"和"sinclude" 如果指示符"include"指定的文件不是以斜线开 ...

  10. 详解Makefile 函数的语法与使用

    使用函数: 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函数的返回值可以当做变量来使 ...

最新文章

  1. 图像处理池化层pooling和卷积核
  2. swift_029(Swift 的泛型)
  3. mysql脚本下载_Mysql备份脚本
  4. Tensorflow csv文件读写与分批训练
  5. 台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error
  6. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
  7. 社区 正式发布了跨平台的 CoreWCF 0.2.0
  8. 染色(树链剖分 洛谷-P2486)
  9. 神盾局特工第四季/全集Agents Of SHIELD迅雷下载
  10. SpringBoot整合Shiro实现权限控制,验证码
  11. pyqt怎么button怎么链接_SEO内部链接怎么优化
  12. webstorm tsx语法中,使用注释后,发现由红色error
  13. html设置隐藏窗口,html – 在窗口大小调整时逐个隐藏菜单项
  14. 学生优化--文本框限制
  15. 编写一个推导式,生成包含100以内所有勾股数(i,j,k)的列表
  16. uefi装完系统后无法引导_【修正】实战WIN10+UEFI引导装系统(不重装不格盘100%成功)...
  17. MultiPath: Multiple Probabilistic Anchor Trajectory Hypotheses for Behavior Prediction
  18. [天池最新比赛] 云上进化”2022全球AI生物智药大赛” #¥150000
  19. 神经内科临床带教中CBL教学模式的应用效果
  20. 某文学网站的优化具体方案

热门文章

  1. 手机应用程序的可用性研究数据的获取、过滤、分析
  2. Java语法糖以及实现
  3. Golang ------ torrent文件解析
  4. 斐讯K2 E1 刷老毛子Padavan中继图文教程(与主路由同网段)
  5. 计算机粘贴功能不能用了,电脑不能粘贴怎么回事_电脑不能粘贴了怎么解决
  6. 学完了Scratch,我要开始学Python了~~~
  7. linux安装多路径软件,IBM服务器多路径软件RDAC安装详解
  8. 华为云盘(华为云空间)免费空间
  9. 发生在我们身边的灵异事件 - 发生在台湾奇萊山的一些灵异事件
  10. 教你Word一键自动生成目录步骤