私は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/ [email protected] /msg06434.html。
とにかく、私は makefile からターゲットを抽出するためのちょっとしたハックをしました。これは makefile に含めることができます。
list:
@grep '^[^#[:space:]].*:' Makefile
定義されたターゲットのリストが表示されます。これは単なる始まりに過ぎず、たとえば依存関係を除外するものではありません。
> make list
list:
copy:
run:
plot:
turnin:
ベストアンサー1
Bash では(少なくとも)、タブ補完によってこれを自動的に実行できます。
make
spacetabtab
必要最低限の機能を備えたディストリビューション (コンテナなど) を使用している場合は、パッケージをインストールする必要があるかもしれません。
$ apt-get install bash-completion ## Debian/Ubuntu/etc.
$ . /etc/bash_completion ## or just launch bash again