GNU makefile の $+ はどういう意味ですか?
また、makefile を書くための良い参照マニュアルを教えてください。
2 に答える
メイクマニュアルから:
$^ すべての前提条件の名前 (間にスペースを含む)。アーカイブ メンバーである前提条件の場合、指定されたメンバーのみが使用されます (アーカイブを参照)。各ファイルが前提条件として何回リストされていても、ターゲットが依存する他の各ファイルに対する前提条件は 1 つだけです。したがって、ターゲットの前提条件を複数回リストすると、$^ の値には名前のコピーが 1 つだけ含まれます。このリストには、注文のみの前提条件は含まれていません。それらについては、`$|' を参照してください。変数、以下。
$+ これは `$^' に似ていますが、2 回以上リストされた前提条件は、makefile にリストされた順序で複製されます。これは主に、ライブラリ ファイル名を特定の順序で繰り返すことが意味のあるリンク コマンドで使用する場合に役立ちます。
どちらの場合も、RTFM... またはこの場合は RTFI としか言えません。タイプ
info make
コマンド プロンプトで、必要なすべての情報をすぐに利用できます。
具体的には$+
、現在のルールのすべての前提条件の名前を参照します。たとえば、 http://uw714doc.sco.com/cgi-bin/info2html?( make.info )Automatic&lang=en を参照してください。