次: 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コマンドの引数として
解釈されます.
コマンドが実行され,特権の不要な必要なインストール後のコマンドも完全に 実行されます.