我使用了一点 rake(一个 Ruby make 程序),它可以选择获取所有可用目标的列表,例如
> rake --tasks
rake db:charset # retrieve the charset for your data...
rake db:collation # retrieve the collation for your da...
rake db:create # Creates the databases defined in y...
rake db:drop # Drops the database for your curren...
...
但在 GNU make 中似乎没有这样做的选项。
显然,截至 2007 年,代码几乎就在那里 - http://www.mail-archive.com/help-make@gnu.org/msg06434.html。
无论如何,我做了一些小技巧来从 makefile 中提取目标,您可以将其包含在 makefile 中。
list:
@grep '^[^#[:space:]].*:' Makefile
它将为您提供已定义目标的列表。这只是一个开始——例如,它不会过滤掉依赖项。
> make list
list:
copy:
run:
plot:
turnin: