make install
Makefile
著者が望んでいることは何でもします。通常、この時点では、ビルド中に以前によく知られているように、インストールディレクトリを変更するには遅すぎます。そのため、ヘルプファイルと構成ファイルを正しいパス名で参照できます。
多くのプロジェクトでは、GNU Autotoolsを使用して、ハードウェアとオペレーティングシステムの相違点間の移植性を改善しようとしています。(異なるUnixの亜種は、通常のパスからわずかに外れている関数の宣言にわずかに異なるヘッダーを使用します。ただし、ほとんどのプログラムでは、異なる場所で宣言されたものが必要です。)
プロジェクトがAutotoolsを使用する場合、それをインストールするための通常のマントラは次のとおりです。
./configure
make
make install
./configure
通常、コマンドラインのようなオプションを使用することができます--prefix /opt/apache
または別のパス名を指定して似たような。/usr/local/
一般的なデフォルトですprefix
。ローカルに構築されたソフトウェアは1つの場所に住み、配布提供のソフトウェアは「メインディレクトリ」に住むのがはるかに簡単です:/usr/
/bin/
など。(パッケージャーは、ファイルに絶対に触れないように非常に注意しています-システム管理者専用であることを知っています。)/usr/local/
とにかく、./configure --prefix /path/to/new/prefix
変数を設定しますMakefile
設定ファイルを変更し、彼らはファイルの正しい場所を指すように、マニュアルページを修正し、プログラムをコンパイルするときに利用可能であること、などそうはmake
したい場所をインストールするために特別にソフトウェアを構築し、make install
その場所にインストールします。
ほとんどのプログラムは、最終make install
ステップがなくても実行できます./program_name
。多くの場合、プログラムを起動するだけです。これは間違いなくプロジェクトごとのものです- などのようなものpostfix
はqmail
、多くの異なる可動部分で構成されており、それらがすべて一緒に機能していることに依存しています。その他、同様ls
またはsu
それらが中に建設されたディレクトリから罰金を実行する自己完結十分かもしれません(これはしばしば有用ではありません-しかし、時々 。非常に有用な)
ただし、すべてのプロジェクトがAutotoolsを使用しているわけではありません-それらは巨大で、複雑で、維持するのが悲惨です。手書きMakefile
のsは書くのがはるかに簡単でMakefile
、開発者とユーザーの両方にとって、構成変数を使用して単純なものを配布する方がはるかに簡単だと個人的に思います。(ただし、./configure ; make ; make install
マントラは機能する場合、ユーザーにとって非常に簡単です。)
make install
は、プログラマーの観点からステップによって行われる通常の種類の事柄の簡単な概要を示しています。