Я трохи використовував рейки (програма Ruby make 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:
grep : Makefile
:?
alias makefile-targets='grep "^[^#[:space:]].*:" Makefile'
Найчастіше я просто необхідно вивчити поточну Makefile і завершальні Баш розростається мій псевдонім.