如何列出make中的所有目标?


18

假设您有一个包含许多Makefile的项目结构,并且有一个包含所有其他文件的顶级Makefile。

您如何列出所有可能的目标?

我知道写

make 

然后通过选择以获取建议通常可以解决问题,但在我的情况下,目标为10000。这样做会使结果传递更多,并且由于某种原因滚动列表也会导致冻结。还有另一种方法吗?

Answers:


24

这是bash完成模块make获取其列表的方式:

make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'

它打印出以换行符分隔的目标列表,而不进行分页。


2
也许可以添加| sort -u排序并删除重复项
BrainStone

| sort -u评论也
马克章
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.