次のようなものを用意するのは悪い習慣ですか?
all:
Makefileで、ユーザーにターゲットを指定させ、デフォルトのターゲットを無視するには?
all
必ずしもデフォルトのターゲットではありません。デフォルトのターゲットは、makefile で定義された最初のターゲットです。また、空のターゲットをデフォルトのままにしておくと (all
メイクファイルの他の場所にルールを持つ他のターゲットがないと確信している場合)、make
の動作は少し不可解になる可能性があります。デフォルトの動作で、次のような適切なエラー メッセージを出力することをお勧めします。
error:
@echo "Please choose one of the following target: compile, install, uninstall"
@# Alternatively: "Please RTFI(nstall)F(ile)"
@exit 2