Make
如何列出make中的所有目標?
假設您有一個包含許多 Makefile 的項目結構,並且有一個包含所有其他 Makefile 的頂級 Makefile。
如何列出所有可能的目標?
我知道寫作
make
然後點擊獲取建議通常可以解決問題,但在我的情況下,有 10000 個目標。這樣做會使結果通過更多,並且由於某種原因滾動列表會導致凍結。還有其他方法嗎?
這是 bash 完成模組
make
獲取其列表的方式:make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' | sort -u
它列印出一個以換行符分隔的目標列表,無需分頁。
FreeBSD 和 NetBSD make(1) 有一個名為
.ALLTARGETS
. 你可以像這樣列印出它的內容make -V .ALLTARGETS
不幸的是,這將列印出一個以空格分隔的列表。我發現以下更有用
make -V .ALLTARGETS | tr ' ' '\n'
它在自己的行上列印出每個目標。