Makefile学习之通配符和自动变量

规则中的通配符 “*” ,“?” ,“ [...]”, " % " , " wildcard "

1.“*”  *.c表示所有后缀为.C的文件;

   如果文件中用到通配符,使用“\*”;

2.通配符在变量中的使用;

  objects=*.c

  注意:这里的通配符就是用在变量中的,不过,objects的值就是“*.o”,并不会展开;

  如果希望展开的话,可以这么使用:

    objects := $(wildcard *.o);

    wildcard是Makefile中的关键字;

3.Makefile中的自动变量

  $@  :表示的是$@所在的规则中的所有的目标文件集。

  $<   :依赖目标中的第一个目标名字。

    如果依赖目标是以模式(即"%")定义的,那么"$<"将是符合模式的一系列的文件集。注意,其是一个一个取出来的。 

  $^    : 所有的依赖目标的集合。以空格分隔。

    如果在依赖目标中有多个重复的,那个这个变量会去除重复的依赖目标,只保留一份。

  $? : 所有比目标新的依赖目标的集合。以空格分隔。   

  $%   :仅当目标是函数库文件中,表示规则中的目标成员名。

      例如,如果一个目标是"foo.a(bar.o)",那么,"$%"就是"bar.o","$@"就是"foo.a"。

      如果目标不是函数库文件(Unix下是[.a],Windows 下是[.lib]),那么,其值为空。 

  $+  :这个变量很像"$^",也是所有依赖目标的集合。只是它不去除重复的依赖目标。

 

转载于:https://www.cnblogs.com/weiyouqing/p/8599971.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语中十二个月名称的由来

转自网络&#xff0c;原出处不详。 公历一年有12个月&#xff0c;但不少人并不知道12 个月的英语名称的来历。公历起源于古罗马历法。罗马的英语原来只有10 个月&#xff0c;古罗马皇帝决定增加两个月放在年尾&#xff0c;后来朱里斯*凯撒大帝把这两个月移到年初&#xff0c;…

进程和程序的关系

1 进程是一个动态概念&#xff0c;而程序是一个静态概念。 2 进程具有并行特征&#xff0c;程序没有。 3 进程是竞争资源的基本单位。 4 一个程序对应多个进程&#xff0c;一个进程为多个程序服务。

Android怎么插手机卡,魅蓝E手机卡怎么装 魅蓝E手机SIM卡安装图文教程

昨天下午&#xff0c;魅族发布了全新系列魅蓝手机——魅蓝E&#xff0c;定位魅蓝高端产品线&#xff0c;售价1299元&#xff0c;李楠号称魅蓝E采用三四千元的旗舰机工艺&#xff0c;外观/屏幕/拍照提升明显。此外&#xff0c;魅蓝E依旧支持全网通双卡双待。那么魅蓝E怎么插卡/装…

快速幂总结

快速幂总结 快速幂这个东西比较好理解&#xff0c;但实现起来到不老好办&#xff0c;记了几次老是忘&#xff0c;今天把它系统的总结一下防止忘记。 首先&#xff0c;快速幂的目的就是做到快速求幂&#xff0c;假设我们要求a^b,按照朴素算法就是把a连乘b次&#xff0c;这样一来…

第三章

一.项目前期的主要工作 1.现状分析 ①.硬件分析 ②.软件分析 2.需求收集 3.粗略设计 ①.体系结构分析 ②.硬件&#xff08;网络&#xff09;设计 ③.应用系统设计 ④.安全设计 ⑤.配套设计 4.可行性分析 二.结构的项目前期实例 1.组织分析 3.需求收集 4.粗略设计 ①.系统体系结…

进程的静止和活动状态

进程有3个主要状态&#xff0c;即就绪&#xff0c;执行和等待。当一个进程被创建的时候&#xff0c;处于就绪状态&#xff0c;严格地说是静止就绪状态&#xff0c;等到被激活&#xff0c;该进程就处于活动就绪状态&#xff0c;如果时间片轮到该进程&#xff0c;那么该进程就执行…

荣耀magic3会用鸿蒙,赵明:荣耀Magic3芯片领先行业,大家看到以后会换掉手机!...

荣耀CEO赵明亲自参加高通2021技术峰会&#xff0c;宣布与高通达成战略合作&#xff0c;未来全系产品采用高通平台。赵明同时透露未来的产品动向&#xff0c;不排除未来与华为继续合作&#xff0c;采用鸿蒙操作系统的可能。赵明表示&#xff0c;Android操作系统依旧是荣耀的首选…

公司里从员工到经理,不同层级应该关注的事情

最近在看《领导梯队》&#xff0c;超级棒的一本书&#xff0c;受益匪浅&#xff0c;推荐给各位从事管理方向的朋友 第一阶段&#xff1a;从管理自我到管理他人&#xff08;leader级&#xff09;   新员工工作的最初几年是个人贡献者。无论他们从事的是销售、会计、工程或是市…

继续教育学习脚本

/* 本脚本运行于浏览器conlose中&#xff0c;自动点击“继续学习”按钮&#xff0c;以实现阻止视频的暂停 */ (function(){ var getStylefunction(obj,styleName){ if(obj.style){ return obj.style[styleName]; }else if(obj.currentStyle){ …

三周第三次课 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

3.7 su命令1、su命令su命令是用来切换用户的&#xff1b;su命令需要使用- 进行切换&#xff0c;如果不使用- 也可以&#xff0c;但当前目录是在root下&#xff0c;没有彻底切换在root下 使用su命令创建文件&#xff0c;以指定用户的身份创建文件切换后显示-bash-4.2因为user5的…

js中加载指定的html代码,在js或JQuery中怎样判断页面html代码中含有指定名称的div元素...

在我们制作网页的过程中&#xff0c;想要在某个页面中的某一元素中添加新的内容&#xff0c;而不想改动那个页面,我们一般会直接在全局的jsz中直接加入document.getElementById("指定id")来给定指定元素新的内容,但在一些页面中没有指定id的div元素浏览器就会报错&am…

处理机和cpu的区别

处理机 处理机是计算机系统中存储程序和数据&#xff0c;并按照程序规定的步骤执行指令的部件。程序是描述处理机完成某项任务的指令序列。指令则是处理机能直接解释、执行的信息单位。处理机包括中央处理器&#xff08;cpu&#xff09;&#xff0c;主存储器,输入-输出接口。处…

三星手机官方固件下载

一&#xff0c;网站下载&#xff1a; https://updato.com/firmware-archive-select-model 查询对应固件信息 https://www.sammobile.com/firmwares/galaxy-a7/SM-A7000/ http://samsung-updates.com/device/?idSM-A7000&detailsSM-A7000 二&#xff0c;下载器下载&#x…

133. Clone Graph

欢迎fork and star&#xff1a;Nowcoder-Repository-github 133. Clone Graph 题目 Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors.OJs undirected graph serialization:Nodes are labeled uniquely. We use # as a separa…

进程控制块PCB简介

PCB(process control block)&#xff0c;进程控制块&#xff0c;是我们学习操作系统后遇到的第一个数据结构描述&#xff0c;它是对系统的进程进行管理的重要依据&#xff0c;和进程管理相关的操作无一不用到PCB中的内容。一般情况下&#xff0c;PCB中包含以下内容&#xff1a;…

html坐标绘制路径,canvas学习笔记之绘制简单路径

1 线段(直线路径)绘制线段一般步骤:moveTo(x,y) 移动画笔到指定的坐标点(x,y)lineTo(x,y) 使用直线连接当前端点和指定的坐标点(x,y)stroke() 根据当前的画线样式&#xff0c;绘制当前或已经存在的路径2 矩形路径绘制矩形路径一般步骤:rect(x, y, width, height) 矩形路径&…

如何实现Punycode中文域名转码

如果你见过中文域名应该会觉得很奇怪&#xff0c;为什么复制出来的域名变成一个很莫名其妙的字符串&#xff0c;比如这个秀恩爱的域名“郝越.我爱你”&#xff0c;实际显示的域名是 http://xn--vq3al9d.xn--6qq986b3xl/ 这就叫 Punycode 具体查看 https://www.punycoder.com/ P…

进程控制块包含的信息

进程控制块包含三类信息 1.标识信息。 用于唯一地标识一个进程&#xff0c;常常分由用户使用的外部标识符和被系统使用的内部标识号。几乎所有操作系统中进程都被赋予一个唯一的、内部使用的数值型的进程号&#xff0c;操作系统的其他控制表可以通过进程号来交叉引用进程控制…

增加表单的文字段的html的代码是,表单及表单新增元素(示例代码)

要想更好运用表单就要了解表单的的更多元素与属性&#xff0c;首先看看对表单基本了解。表单的基本了解 元素用于用户输入数据的收集元素是最重要的表单元素&#xff0c;有许多type其中是用于向表单处理程序提交表单的按钮。元素 元素定义待选择的下拉列表选项&#xff0c;元素…

给博客或站点加入百度统计

概述 记得刚接触百度统计的时候&#xff0c;苦于没有个人网站&#xff0c;不能加入统计代码查看访问量等数据。然后渐渐的忘了这件事。之前看别人博客中提及了百度统计&#xff0c;然后粗略的看了一下加入方法&#xff0c;觉得很惊喜&#xff0c;太简单了&#xff01; 加入方法…