あなたはへのリンクのドキュメントは、具体的には先頭付近に、このことを説明しています。
この構成は、レシピではなくターゲットと前提条件でのみ使用できます。レシピで使用する可能性があるほとんどのプログラムは、この構文をサポートしておらず、アーカイブメンバーに直接作用することはできません。 ar
と、アーカイブで動作するように特別に設計された他のプログラムだけがそうすることができます。したがって、アーカイブメンバーターゲットを更新する有効なレシピは、おそらくar
を使用する必要があります。したがって、たとえば、ar
アーカイブを作成する
がname
を含むtarget
と呼ばれ、コマンドがMakefile
として
touch name
ar cr target name
だろう、これは
target: name
ar cr [email protected] $^
name:
touch name
target(name)
構文は、ときに便利ですname
のコピーを操作したい場合は、target
の内部にあります。例えば、name
場合はいくつかの点で再建された、あなたのMakefile
あなたがtarget
内のコピーを更新する必要があるかどうかを判断するために、target
内name
メンバーの日付スタンプに対してその日付スタンプを比較したい場合があります。
target(name): name
ar cr [email protected] $%
ただし、最初にtarget
を作成する方法は指定しません。私が知る限り、私の例の上にあるようなレシピが必要です。
あなたは、これは正しい 'ar'ファイル、について話していることを理解していますか?通常、アーカイブはので、おそらく '.a'サフィックスを持っているが、'、 'ターゲット(名): – tripleee
はあなたにも'ターゲットが必要になります、何のルールは 'target'を作るためにありません「私はターゲットを作る使用している場合、これは実行されません」 target.a:target.a(name) '。 – user657267