首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你如何获得makefile中的目标列表?

获得Makefile中的目标列表可以通过以下方法:

  1. 使用make -qp --no-print-directory | awk -F':' '/^[a-zA-Z0-9][^$#\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' | sort -u命令。

这个命令会执行以下操作:

  • make -qp --no-print-directory:使用make命令以-q(安静模式)和-p(显示所有规则)选项执行,不显示任何输出。
  • awk -F':' '/^[a-zA-Z0-9][^$#\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}':使用awk命令以冒号(:)作为分隔符,筛选出所有以目标名称开头的行,并将结果存储在数组A中。然后,遍历数组并打印每个目标名称。
  • sort -u:使用sort命令以-u选项对结果进行排序并去除重复项。
  1. 使用grep命令筛选出包含目标名称的行,然后使用awk命令提取目标名称。

这个方法可以通过以下命令实现:

  • grep -oE '^[a-zA-Z0-9][^:]*:' Makefile | awk -F':' '{print $1}' | sort -u

这个命令会执行以下操作:

  • grep -oE '^[a-zA-Z0-9][^:]*:' Makefile:使用grep命令以-o(仅输出匹配部分)和-E(使用扩展正则表达式)选项,筛选出以目标名称开头的行。
  • awk -F':' '{print $1}':使用awk命令以冒号(:)作为分隔符,提取目标名称。
  • sort -u:使用sort命令以-u选项对结果进行排序并去除重复项。

这两种方法都可以获得Makefile中的目标列表,您可以根据自己的需求选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CMake vs Makefile: 如何选择适合项目构建工具

在软件开发,构建(build)是一个非常重要过程。我们需要将源代码转换为可执行文件或库文件。为了完成此过程,我们通常使用构建工具来自动化构建过程。...CMake是一个跨平台构建工具,它可以自动生成Makefile,而Makefile是一个GNU工具,用于描述源文件之间依赖关系并指定如何编译和链接它们 ---- 语法 Makefile使用一种基于...因此,如果您要在多个平台上构建软件,那么CMake是更好选择。 ---- 可扩展性 CMake支持插件,可以轻松地添加新构建目标和生成器。这意味着,开发人员可以根据需要定制CMake行为。...相比之下,Makefile需要手动编写新规则和目标,因此,如果您需要一个更加灵活和可定制构建工具,那么CMake是更好选择。...相比之下,Makefile构建速度相对较慢。 ---- 如何选择 对于小型项目来说,Makefile是一个简单有效选择。它足够轻量级和易于使用。

42300

替换目标覆盖文件如何恢复?

想必大家对于下面这个窗口都非常熟悉,当复制文件粘贴到一个存在同名文件文件夹中就会出现该提示窗口,如果选择是替换,那么新文件夹就会将文件夹同名文件覆盖掉。...很多时候,一款综合性强EasyRecovery就可以解决硬盘、移动硬盘、U盘、存储卡等介质数据丢失问题。...方法步骤1、打开EasyRecovery,以办公文档类Excel文档为例,选择恢复内容办公文档类,点击下一个;2、在选择位置环节选择选择位置选项,这时会跳出一个选择位置窗口,这个窗口有点类似于...我们选择扫描出文件夹,点击右下角恢复按钮,之前被不小心替换覆盖掉文件已经恢复到之前文件夹中了;4、假如你查看恢复后文件夹后发现恢复文件并不是所希望文件,怎么办呢?别急,还是有办法。...EasyRecovery软件特色:1.软件操作简单易懂,可根据数据丢失情况,选择一个合适模式进行恢复。 2.软件绿色安全,无毒无插件,使用过程不会泄露个人隐私数据。

5.1K30

如何理解和使用Python列表

今天我们详细讲解Python 列表。...列表简介(list) 列表是Python内置有序可变序列,列表所有元素放在一对括号“[]”,并使用逗号分隔开;一个列表数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表...列表使用: 1. 列表创建 2. 操作列表数据 列表对象都会按照插入顺序存储到列表,第一个插入对象保存到第一个位置,第二个保存到第二个位置。...我们可以通过索引(index)来获取列表元素。索引是元素在列表位置,列表每一个元素都有一个索引。...min() 获取列表最小值 max() 获取列表最大值 arr = [,,,,,] print(min(arr) , max(arr)) 运行结果: ?

6.9K20

获得投资, Opportunity Slide 还缺少什么?| 编译

但是,还有尤为重要一点被忽略了。可以有一个许多人都头疼大问题,也可以有一个超棒团队来解决问题。但是,还必须解释机会是如何出现如何以挑战者姿态进入市场。...在你 Pitch 需要展示:发现了这个机遇,并有强劲竞争力。那么在投资人眼中,便成功了一半。...---- 专属理由 一旦有机会能够创造一个新型市场,那么首先需要阐述自己「专属理由」。 专属理由,也就是如何把握住此次机会理由,这是一把专属利器。...他们为用户创造了一个全新方式,不仅便宜,而且给用户带来更好体验,并且对目标市场更有用。 分层专属理由 单一强势专属理由对于 pitch case,建立一个成功公司已经足够了。...但是,除非你有独特之处,而如果只是努力地模仿别人就很难获得投资人青睐。 相反,考虑一下如何展示差异化竞争,以及竞争优势。

85060

获得投资, Opportunity Slide 还缺少什么?| 编译

但是,还有尤为重要一点被忽略了。可以有一个许多人都头疼大问题,也可以有一个超棒团队来解决问题。但是,还必须解释机会是如何出现如何以挑战者姿态进入市场。...在你 Pitch 需要展示:发现了这个机遇,并有强劲竞争力。那么在投资人眼中,便成功了一半。...---- 专属理由 一旦有机会能够创造一个新型市场,那么首先需要阐述自己「专属理由」。 专属理由,也就是如何把握住此次机会理由,这是一把专属利器。...他们为用户创造了一个全新方式,不仅便宜,而且给用户带来更好体验,并且对目标市场更有用。 分层专属理由 单一强势专属理由对于 pitch case,建立一个成功公司已经足够了。...但是,除非你有独特之处,而如果只是努力地模仿别人就很难获得投资人青睐。 相反,考虑一下如何展示差异化竞争,以及竞争优势。

80630

如何优化Vue.js应用以获得最佳性能

摘要 ‍ 猫头虎博主欢迎大家来到本篇博客,在这里我们将深入研究如何通过一系列关键性能优化策略来提升Vue.js应用性能。...在这个竞争激烈网络世界,优化Vue.js应用以提供卓越性能是至关重要。本文将指导通过多种方式来优化Vue.js应用,以确保它能够快速加载、响应迅速,并在搜索引擎中排名靠前。...服务器端渲染(SSR) 了解如何使用Vue.js服务器端渲染功能,以便搜索引擎能够更好地索引应用内容,提高SEO排名。 2....预渲染和元信息 预渲染静态页面,并优化每个页面的元信息,以提高页面在搜索引擎可见性和点击率。 3....网站速度和移动友好性 优化Vue.js应用以提供更快加载速度和更好移动设备支持,这对SEO至关重要。 总结 通过本文,我们详细介绍了如何优化Vue.js应用以获得最佳性能。

15110

小程序开发如何通过请求获得对应数据

在上期文章,FinClip工程师和我们主要聊了聊如何在小程序中使用 JS 处理内容或样式。...那么,以下我们来学习如何进行小程序服务器域名配置。...>’ 发送一个请求,请求都带上 foo:bar 我们通过开发者工具看该请求,可以看到请求相关配置都会出现在请求信息: 请求数据 通常来说,我们在使用 POST 请求时候,会携带一些数据,而在小程序...那么我们如何获取并处理返回数据呢,wx.request 接口提供了几个 callback 函数用于处理接口不同情况返回,分别是: success(请求成功回调); fail(失败回调); complete...回调函数打印了返回数据,控制台能看到如下: ---- 本期教程讲解了在小程序如何成功发起网络请求,并获得对应数据。在下一期文章,我们将会聊聊如何查看小程序组件文档,组件实际使用演示。

1.7K20

Python列表深浅拷贝,学废了嘛?

一、前言 前几天在Python最强王者交流群有个叫【Chloe】粉丝问了一个Python深浅拷贝问题,这里拿出来给大家分享下,一起学习下。...二、解决过程 深浅拷贝这个东东在列表挺烦人,傻傻分不清楚,不过不慌,明白了之后,就不难了。...那么再看上面那道题目,【Chloe】先copy了才改变了list1值,所以lst2第二个元素还是20。 至于其他,就比较好懂一些了,看下图解析,很清晰。...这里有一个地方需要注意,细节东西,不然就会把自己绕进去了。 三、总结 大家好,我是皮皮。...这篇文章主要分享了Python列表深浅拷贝问题,给出了具体解析和代码演示,帮助粉丝顺利解决了问题。

16620

Python如何获取列表重复元素索引?

一、前言 昨天分享了一个文章,Python如何获取列表重复元素索引?,后来【瑜亮老师】看到文章之后,又提供了一个健壮性更强代码出来,这里拿出来给大家分享下,一起学习交流。...= 1] 这个方法确实很不错,比文中那个方法要全面很多,文中那个解法,只是针对问题,给了一个可行方案,确实换个场景的话,健壮性确实没有那么好。 二、总结 大家好,我是皮皮。...这篇文章主要分享了Python如何获取列表重复元素索引问题,文中针对该问题给出了具体解析和代码演示,帮助粉丝顺利解决了问题。...最后感谢粉丝【KKXL螳螂】提问,感谢【瑜亮老师】给出具体解析和代码演示。

13.3K10

如何使用xnLinkFinder发现目标网络节点

关于xnLinkFinder xnLinkFinder是一款基于Python 3开发网络节点发现工具,在该工具帮助下,广大研究人员只需要提供一个目标网络地址,xnLinkFinder就能够发现其中网络节点...功能介绍 1、根据域名/URL爬取目标网络; 2、根据包含域名/URL文件爬取多个目标网络; 3、搜索给定目录(以目录名作为参数)文件; 4、通过Burp项目获取节点(传递Burp XML文件路径...xnLinkFinder $ sudo python setup.py install (向右滑动,查看更多) 工具参数命令 短参数 长参数 参数描述 -i --input 指定一个URL、URL列表...”表示原始链接,也可以指定一个其他节点; -spo --scope-prefix-original 如果指定了-sp,则这将确定以/开头原始链接是否也包含在输出(默认值:false); -sf --...† 等待服务器发送数据时间,默认为10秒; -inc --include 在输出包含输入(-i)链接; -u --user-agent † 使用User-Agent,例如 -u desktop

1.4K30

如何在HTML下拉列表包含选项?

为了在HTML创建下拉列表,我们使用命令,它通常用于收集用户输入表单。为了在提交后引用表单数据,我们使用 name 属性。如果没有 name 属性,则下拉列表中将没有数据。...用于将下拉列表与标签相关联;id 属性是必需。要在下拉列表定义选项,我们必须在 元素中使用 标签。...价值发短信指定要发送到服务器选项值倍数倍数通过使用,可以一次选择多个属性选项。名字名字它用于在下拉列表定义名称必填必填通过使用此属性,用户在提交表单之前选择一个值。...大小数此属性用于定义下拉列表可见选项数量价值发短信指定要发送到服务器选项值自动对焦自动对焦它用于在页面加载时自动获取下拉列表焦点例以下示例在HTML下拉列表添加一个选项 标签和 标签在列表添加选项 -<!

21520

如何从Bash脚本本身获得其所在目录

问: 如何从Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...-- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) echo $script_dir 其中第3行代码,无论从何处调用它,都将为提供脚本完整目录路径...)]" echo "dirname : [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: 在shell编程$.../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

25820

如何获得第一份数据科学领域工作?

原作者 Tomi Mester 编译 CDA 编译团队 本文为 CDA 数据分析师原创作品,转载需授权 前言 想从事大数据行业的人想必都有这样一个疑问,究竟应该如何获得第一份数据科学家/分析师工作呢?...对数据科学家而言,最重要技能和工具是什么?如何获得? 在 90% 情况下,在大学中所学技能对于实际数据科学项目并不是很有用。...但是,一旦掌握了其中一种,那么学习其他语言则会更加容易。 所以第一个问题是:如何获得这些工具? 好消息就是所有这些工具都是免费。这意味着,这些软件支持免费下载,安装和使用。...而内容涵盖从数据编码到商业智能各种主题。 三. 如何练习,如何获得实际操作经验? 这个问题有些棘手。每个公司都希望聘请有一定实际项目经验的人。...这样公司不仅有高级数据科学家,而且他们有一定精力来帮助你和教你。 好了,已经确定了一些理想公司,那么如何投简历呢?简历需要注意:突出技能和项目,而不是经验。

61750

如何从 Python 列表删除所有出现元素?

在 Python 列表是一种非常常见且强大数据类型。但有时候,我们需要从一个列表删除特定元素,尤其是当这个元素出现多次时。...本文将介绍如何使用简单而又有效方法,从 Python 列表删除所有出现元素。方法一:使用循环与条件语句删除元素第一种方法是使用循环和条件语句来删除列表中所有特定元素。...具体步骤如下:遍历列表每一个元素如果该元素等于待删除元素,则删除该元素因为遍历过程删除元素会导致索引产生变化,所以我们需要使用 while 循环来避免该问题最终,所有特定元素都会从列表删除下面是代码示例...具体步骤如下:创建一个新列表,遍历旧列表每一个元素如果该元素不等于待删除元素,则添加到新列表中最终,新列表不会包含任何待删除元素下面是代码示例:def remove_all(lst, item...结论本文介绍了两种简单而有效方法,帮助 Python 开发人员从列表删除所有特定元素。使用循环和条件语句方法虽然简单易懂,但是性能相对较低。使用列表推导式方法则更加高效。

12.1K30

python如何列表+yield打破内卷递归

如此类推,直到栈没有东西,程序就会执行结束 这里我们需要关注重点就是左边容器 左边类似木桶容器叫 栈。...list,大家可以把它看作是待处理任务列表。...显然第一个任务就是传进来文件夹路径 行5:使用 while 循环,条件是所有任务都处理完毕(任务列表为空) 行7:循环里面,每次取出一个任务(文件夹路径),得到该文件夹所有路径 行13:如果是文件夹路径...,那就是一个新任务,直接放进去任务列表(stack) 小伙子非常满意,感觉自己 python 水平大幅提升。...题目提示:"恭喜,解决了问题。不过,现在函数不能应对需求变化,只能打印路径。

1.6K20
领券