私がちょうど入力した場合
$ make
make
デフォルトのターゲット (通常は で指定された最初のターゲットですMakefile
が、ルールはそれより少し複雑です) でコマンドを呼び出します。
単にターゲット名を省略する以外に、それが何であるかを知らずにコマンドラインでデフォルトのターゲットを指定する方法はありますか?
私ができるようにしたいのは、これら2つのコマンドを組み合わせることです:
$ make clean
$ make
の単一の呼び出しにmake
。デフォルトのターゲットが であることがわかっている場合はall
、次のように入力できます。
$ make clean all
しかし、デフォルトのターゲットが何であるかがわからない場合、それは機能しません。
理想的には、デフォルト ターゲットを参照する構文が必要です ( GNU make マニュアルでは、それを「デフォルト ゴール」と呼んでいます)。これ:
$ make clean .DEFAULT_GOAL
一般的なアイデアを示していますが、機能しません。
2 番目に良いのは、コマンド ラインからデフォルトのターゲットが何であるかを判断するためのシンプルで信頼できる方法です。
$ make clean $(get-default-target)
GNU 固有のソリューションで問題ありません。
マニュアルをざっと見てみると、これを行う良い方法はないと思います。