首页
学习
活动
专区
工具
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是一个简单有效的选择。它足够轻量级和易于使用。

    68500

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

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

    5.2K30

    如何理解和使用Python中的列表

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

    7K20

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

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

    87360

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

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

    83230

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

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

    19210

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

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

    1.7K20

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

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

    18020

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

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

    13.4K10

    如何使用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.5K30

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

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

    27820

    如何从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脚本对编码和行尾符敏感吗

    34920

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

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

    65250

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

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

    12.3K30
    领券