Android makefiles( build/core/Makefile )の1つでこれに遭遇しました:
$(hide) -cp $(TARGET_ROOT_OUT)/init.recovery.*.rc $(TARGET_RECOVERY_ROOT_OUT)/
ここでcp
の前にある-
はどういう意味ですか?エラーの抑制に関係している可能性がありますが、Googleでドキュメントを作成できませんでした。
レシピの_-
_は、Makeにエラーを無視するように指示します( レシピのエラー を参照)。
この特定のケースでは、cp
によって報告されたエラーは無視されます(出力にはメッセージが含まれますが、ビルドは続行されます)。
これは、_-
_がMakeによって解釈される場合にのみ機能します。ieこれは行の最初の非空白文字です(またはその前の文字はMakeによっても解釈されます)。この場合、$(hide)
を考慮する必要があります。hide
が空または_@
_の場合、_-cp
_が意図した効果を発揮します。ただし、hide
がインスタンス_@>/dev/null
_である場合(コマンドはエコーされず、その標準出力は破棄されます)、_-cp
_はそのままシェルに渡され、コマンドは不合格。