首页
学习
活动
专区
工具
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中的目标列表,您可以根据自己的需求选择合适的方法。

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

相关·内容

没有搜到相关的合辑

领券