makefile终极目标
所谓终极目标就是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终极目标相关推荐
- 浅显易懂 Makefile 入门 (12)— Makefile 常见的错误信息
1. 常见的错误信息 make 执行过程中所产生错误并不都是致命的,特别是在命令行之前存在 -.或者 make 使用 -k 选项执行时. make 执行过程的致命错误都带有前缀字符串 ***.错误信息 ...
- 浅显易懂 Makefile 入门 (09)— include 文件包含、MAKECMDGOALS
1. include文件包含 当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makefile ...
- 浅显易懂 Makefile 入门 (01)— 什么是Makefile、为什么要用Makefile、Makefile规则、Makefile流程如何实现增量编译
1. 什么是 Makefile Makefile 文件描述了 Linux 系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目.一旦写编写好 Makefile 文件,只需要一个 ma ...
- makefile学习(转载)
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...
- Makefile语法基础介绍
在Linux下,make是一个命令工具,是一个解释Makefile中指令的命令工具.make命令执行时,需要一个Makefile文件,以告诉make命令需要怎么样去编译和链接程序. make如何工作: ...
- .PHONY makefile中的伪目标
拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean ========= ...
- makefile文件编写教程
技术交流QQ群:1027579432,欢迎你的加入! 1.make介绍 gcc:编译器(gcc根据菜谱进行编译) make: linux自带的构建器(相当于一个菜谱) 构建的规则(菜谱)在makefi ...
- makefile ifneq多个判断条件_一文入门Makefile
1. 什么是Makefile 一个企业级项目,通常会有很多源文件,有时也会按功能.类型.模块分门别类的放在不同的目录中,有时候也会在一个目录里存放了多个程序的源代码. 这时,如何对这些代码的编译就成了 ...
- Makefile中指示符“include”、“-include”和“sinclude”的区别
指示符"include"."-include"和"sinclude" 如果指示符"include"指定的文件不是以斜线开 ...
- 详解Makefile 函数的语法与使用
使用函数: 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函数的返回值可以当做变量来使 ...
最新文章
- 图像处理池化层pooling和卷积核
- swift_029(Swift 的泛型)
- mysql脚本下载_Mysql备份脚本
- Tensorflow csv文件读写与分批训练
- 台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
- 社区 正式发布了跨平台的 CoreWCF 0.2.0
- 染色(树链剖分 洛谷-P2486)
- 神盾局特工第四季/全集Agents Of SHIELD迅雷下载
- SpringBoot整合Shiro实现权限控制,验证码
- pyqt怎么button怎么链接_SEO内部链接怎么优化
- webstorm tsx语法中,使用注释后,发现由红色error
- html设置隐藏窗口,html – 在窗口大小调整时逐个隐藏菜单项
- 学生优化--文本框限制
- 编写一个推导式,生成包含100以内所有勾股数(i,j,k)的列表
- uefi装完系统后无法引导_【修正】实战WIN10+UEFI引导装系统(不重装不格盘100%成功)...
- MultiPath: Multiple Probabilistic Anchor Trajectory Hypotheses for Behavior Prediction
- [天池最新比赛] 云上进化”2022全球AI生物智药大赛” #¥150000
- 神经内科临床带教中CBL教学模式的应用效果
- 某文学网站的优化具体方案