次: Finish mode, 前: Execute mode, 上: Invoking libtool
インストールモードでは,libtoolはmode-argsのほとんどの要素
を,cp
で始まるインストールコマンドやBSD互換のinstall
プロ
グラムとして解釈します.
mode-argsの残りは,特別扱いされます.
automake
で
DESTDIRを使用する方法とほとんど同じです.例えば,prefixが
/usr/local
でinst-prefix-dirが/tmp
の場合,オブジェ
クトは/tmp/usr/local/
にインストールされます.インストールされた
オブジェクトがlibtoolライブラリの場合,ライブラリの内部フィールドは
inst-prefix-dirではなくprefixだけに反映されます.
# Directory that this library needs to be installed in: libdir='/usr/local/lib'
以下ではありません.
# Directory that this library needs to be installed in: libdir='/tmp/usr/local/lib'
inst-prefix
は,インストールされたオブジェクトがインストール時に
再リンクする必要がある場合にも,それがprefixではなく
inst-prefix-dir/prefixのライブラリと再リンクするのを確実に
するためにも使用されます.
実際は,このオプションはlibtoolで直接呼び出すときに使用することが本当
の目的ではありません.それはlibtool --mode=install
が
libtool --mode=relink
を呼び出すとき自動的に使用されます.
libtoolは元々のlibtool --mode=install
コマンドで与えられたインス
トール先のパスを解析し,libtool --mode=link
で確定した予測される
インストールパスと比較することで,これを行ないます.
このため,エンドユーザは変更する必要はなく,automake
形式の
make install DESTDIR=/tmp
でJust Work(tm) (うまく動作します)にな
ります.
残りのmode-argsは,cp
やinstall
コマンドの引数として
解釈されます.
コマンドが実行され,特権の不要な必要なインストール後のコマンドも完全に 実行されます.