Go to the first, previous, next, last section, table of contents.


インストールされるもの

基本的なインストール

当然,Automakeは,一旦ビルドされたプログラムを実際のインストールの細部ま での処理を行ないます.様々なプライマリで指名されているすべてのファイルは, ユーザがmake installを実行する時に,適切な場所に自動的にインストー ルされます.

プライマリで指名されているファイルは,ビルドされたファイルを適切なディレ クトリにコピーすることでインストールされます.ファイルのベース名はインス トール時に使用されます.

bin_PROGRAMS = hello subdir/goodbye

この例では,`hello'`goodbye'の両方が$(bindir)にインス トールされます.

インストール時にベース名のステップを避けた方が役に立つこともあるでしょう. 例えば,ソースツリーのサブディレクトリに,インストール時にインストールし たい方法で正確に配置したいヘッダファイルがいくつかあるかもしれません.こ の場合,ベース名のステップを停止するために,`nobase_'接頭辞を使用す ることが可能です.例えば以下のようにします.

nobase_include_HEADERS = stdio.h sys/types.h

これで,`stdio.h'$(includedir)に,そして`types.h'$(includedir)/sysにインストールされます.

インストールの二つの部分

インストーラーが共有ディレクトリ構造を持っている複数のマシンにインストー ルする場合,Automakeはinstall-datainstall-execターゲット を分けて生成します---これらのターゲットで,マシンに依存しない部分を一度 にインストールすることができます.install-execはプラットフォーム に依存するファイルをインストールし,install-dataはプラットフォー ムに依存しないファイルをインストールします.installターゲットはこ れらのターゲットの両方に依存します.Automakeは,オブジェクトを正しいカテ ゴリに自動的に区別するよう試みますが,`Makefile.am'の作者は,これが 正しく行なわれていることを確かめる責任があります.

`data'`info'`man'`include'`oldinclude'`pkgdata',または`pkginclude'(例えば `data_DATA')といった 標準ディレクトリの接頭辞を使用している変数は,`install-data'でイン ストールされます.

`bin'`sbin'`libexec'`sysconf'`localstate'`lib',または`pkglib'(例えば `bin_PROGRAMS')といった標準ディレクトリの接頭辞を使用している変数は, `install-exec'でインストールされます.

ユーザが定義した名前で,名前に`exec'を含むディレクトリ接頭辞を使用 している変数は(例えば`myexecbin_PROGRAMS'),`install-exec'でイ ンストールされます.ユーザによって定義されたそれ以外のすべての接頭辞は, `install-data'でインストールされます.

インストールの拡張

install-exec-localinstall-data-localターゲットを定義する ことで,このメカニズムを拡張することが可能です.これらのターゲットが存在 する場合,それらは`make install'時に実行されます.これらの規則でほ とんどすべてのことが可能になります.注意が必要です.

Automakeは, install-exec-hookinstall-data-hookの,二つ のインストールのフックもサポートしています.これらのフックは,適切な形式, execやdataといった,他のすべてのインストール規則が完了した後で実行されま す.そのため,例えば,インストールのフックを使用して,インストール後の変 更を実施することが可能です.

インストールの実行

Automakeは,すべてのインストール規則で,`DESTDIR'変数に対するサポー トを生成します.`DESTDIR'は,インストールオブジェクトを実行領域に再 配置する`make install'の段階で使用されます.それぞれのオブジェクト とパスは,インストール領域にコピーされる前に,`DESTDIR'の値が前置さ れます.典型的な`DESTDIR'使用法の例は,以下のようになります.

make DESTDIR=/tmp/staging install

これで,インストールオブジェクトを`/tmp/staging'の下に構築されてい るディレクトリツリーに配置します.`/gnu/bin/foo'`/gnu/share/aclocal/foo.m4'がインストールされる場合,上のコマンドで は,`/tmp/staging/gnu/bin/foo'`/tmp/staging/gnu/share/aclocal/foo.m4'にインストールされます.

この機能は,インストールイメージとパッケージをビルドするために,通常使用 されます.詳細は,section `Makefile Conventions' in The GNU Coding Standardsを参照してください.

`DESTDIR'に対するサポートは,インストール規則に直接コーディングする ことで実装されています.`Makefile.am'でローカルインストール規則(例 えば,install-exec-local)やインストールフックを使用している場合, `DESTDIR'に対応するコードを書く必要があります.

ユーザのための規則

Automakeは,uninstallターゲット,installdirsターゲット,そ してinstall-stripターゲットも生成します.

Automakeは,uninstall-localuninstall-hookをサポートして います.これらの機能は,機能の追加のために提供されているわけでないので, "exec"と"data"に対してアンインストールを分ける必要はないでしょう.

uninstallには,実際のパッケージツールを置換する意味が無いことに注 意してください.


Go to the first, previous, next, last section, table of contents.