次: , 上: Invoking libtool


4.1 コンパイルモード

コンパイルモードに対し,mode-argsは,`標準的な'オブジェク トファイルを作成するとき使用するコンパイルコマンドです.これらの引数は, Cコンパイラの名前で始まり,オブジェクトファイルのみを作成するための `-c'コンパイラフラグが含まれます.

libtoolは,ソースファイル名からディレクトリ要素を削除して出力ファイル 名を決定し,ソースコードの接尾子(例えば,Cソースコードに対する `.c')をライブラリオブジェクト接尾子`.lo'に置換します.

共有ライブラリをビルドする場合は,必要なPIC生成フラグがコンパイルコマ ンドに置換されます.`-XCClinker flag'を使用したり,リンカフ ラグ`-Wl,flag'と`-Xlinker flag'を渡すことで,リ ンク指定のフラグをコンパイラドライバに渡すことが可能です.また, `-Wc,flag'と`-Xcompiler flag'を使用することで, コンパイル指定のフラグを渡すことも可能です.

`-static'オプションが与えられている場合は,libtoolが `--disable-static'でコンフィグレーションされていた場合でも, .oファイルがビルされてます.

現在は`-o'オプションが,完全にサポートされていることに注意してく ださい.それがサポートされていないプラットフォームでは,(オブジェクト のロックと移動によって)エミュレートされるので,Makefileを少し編集する だけでlibtoolは本当に簡単に使用できます.入力例は以下のようになります.

     libtool gcc -c foo/x.c -o foo/x.lo

will do what you expect.

しかし,コンパイラが`-c'と`-o'をサポートしていない場合,既存 の./x.oを上書きせずにfoo/x.cをコンパイルすることが不可能 なことに注意してください.そのため,ソースファイル./x.cがある場 合,./x.o(や./x.lo)が,サブディレクトリのあらゆる x.loの後で再作成されることを確実にするため,Makefileに依 存性の導入を必ず行ってください.

     x.o x.lo: foo/x.lo bar/x.lo

これは,プログラムやライブラリを作成するため,一時的に壊れたx.o の使用を試みないことを確実にします.それは,`-c'と`-o'を同時 にサポートするプラットフォームで,不必要な再コンパイルを引き起こすかも しれませんが,それは,そうでないものに対して安全にする唯一の方法です.