1

GNU が推奨する方法で配布されたソースからいくつかのライブラリをインストールすると仮定してください。「./configure --prefix」を使用してインストール先を指定する場合。

(1) Makeは現在のディレクトリの下にバイナリを生成しますか? Make のインストールは、それらを現在のディレクトリ (Make が実行されている場所) から $prefix にコピーしますか? 答えが「はい」の場合、それぞれ異なるケースについて 2 つの質問があります。

(2) 現在のディレクトリと $prefix が同じでない場合、スペースを節約するために現在のディレクトリの下に Make によって生成されたすべてのファイルを削除できますか?

(3) 現在のディレクトリと $prefix が同じ場合、make install何もしないか、ファイルを自分自身にコピーしますか? ステップをスキップできますmake installか?

4

2 に答える 2

1

最初の質問に対する答えは、おそらくイエスです。

make clean残りについては、最初の によって作成されたファイルを整理する を見つけることができますmake

makefile は、現在のディレクトリと $prefix が同じでない状況を処理し、正しいことを行うことができると思います。

通常、現在のディレクトリは、makefile によって作成されるファイルの宛先にはなりません。

(もちろんメイクファイルの書き方にもよるので一概には言えませんが、使ったメイクファイルには概ね感心しました)

于 2009-11-15T03:14:18.303 に答える
0
  1. あなたは絶対に正しいです:スクリプトによって維持される他の変数に基づいて、make現在のディレクトリにファイルを作成し、それを宛先ディレクトリにコピーするだけです。make install$prefixconfigure

  2. ビルドを実行したディレクトリ全体を消去できます。それが「インストール」の意味であるため、使用されません。1つのディレクトリにビルドし、ファイルをシステムの適切な場所に配置します。

  3. 通常、インストール先とビルドするディレクトリは異なります。インストールされるファイルの階層は、通常、ビルドシステムのディレクトリ階層とは関係ありません。他のディレクトリにインストールするだけです。さらに別のディレクトリを作成するのは安価です。

于 2009-11-16T09:17:19.387 に答える