2012-05-03 38 views
0

次のWebサイト http://make.paulandlesley.org/vpath.htmlMakefileでは、VPATHはどのように動作しますか?

で著者は言う:

VPATHはソースではなく、ターゲットを見つけるために設計されました。

が、GNUのmakeのマニュアルでは、それは言う:

変数VPATHを検索する作るディレクトリ のリストを指定しますの値。ほとんどの場合、ディレクトリには に、現在のディレクトリにない前提条件ファイルが含まれていることが予想されます。しかし、 ただし、makeは、VPATHを前提条件と のルールの両方のターゲットの検索リストとして使用します。

これはどういう意味ですか?

答えて

1

それは正確に何を意味するのですか。 makeは、何かを構築するために必要なものと、再構築する必要があるかどうかを確認するために既に構築されたものの両方を探します。

典型的なシナリオは、アーカイブをリンクまたは作成する前にオブジェクトファイルを配置する一時ビルドディレクトリを使用する場合です。次に、makeを見て、何を再構築する必要があるかを確認します。

+0

VPATHは、ターゲットを見つけるのではなく、ソースを見つけるのに適しています。 – zenis

+0

@Cyber​​Rusher私はあなたのコメントを理解しているかどうか分かりません。 'make'はそれを使ってターゲットを検索するか、ターゲットを検索しません。私が知る限り、それはそうです。この文脈で「良くない」とはどういう意味ですか?私は自分のmakefileでこれだけのために 'VPATH'を使いました。それはとてもうまく動作します。 – HonkyTonk

2

GNU Makeマニュアルでは、を使用してターゲットを見つけることができます。ポールスミスは、一般的にはではないと言っています。

このようにVPATHを使用すると問題が発生する可能性はありますが(そのどれもが気にならない)、paulandlesleyのページには具体的な話題がいくつかありますVPATHを使用して、マルチアーキテクチャービルドのコンテキストで遠隔地にターゲットを構築しています(これは動作しません)。

関連する問題