[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]  


メイクファイルの断片

`configure'スクリプト(GNU CCのインストールを参照)を使って GCCの構成(configureの実行)を行うと、 テンプレート・ファイル`Makefile.in'からファイル`Makefile'が作られます。 その際、 `config'ディレクトリから、 `t-target'`x-host'という名前の、 メイクファイルの断片ファイルが組み込まれます。 これらのファイルが存在しないのであれば、 指定されたターゲットやホストに関して追加すべき情報はないということを意味します。

ターゲット・メイクファイルの断片

ターゲット・メイクファイルの断片ファイル`t-target'は、 ターゲットに依存する特殊な変数や、 `Makefile'の中で使われるターゲットを定義します。

LIBGCC1
`libgcc1.a'を作るのに使われるルールです。 ターゲット・マシンが、 `libgcc1.a'の中の関数を使う必要がない場合、 これを空にセットしてください。 GCCの出力とのインターフェイスを参照してください。
CROSS_LIBGCC1
クロス・コンパイラをビルドする場合に、 `libgcc1.a'を作るのに使われるルールです。 ターゲット・マシンが、 `libgcc1.a'の中の関数を使う必要がない場合、 これを空にセットしてください。 `libgcc.a'とクロス・コンパイラを参照してください。
LIBGCC2_CFLAGS
`libgcc2.c'をコンパイルする際に使われるコンパイラ・フラグです。
LIB2FUNCS_EXTRA
コンパイルまたはアセンブルされて`libgcc.a'に入れられるべき ソース・ファイルの名前の一覧です。
CRTSTUFF_T_CFLAGS
`crtstuff.c'をコンパイルする際に使われる特殊なフラグです。 @xref{Initialization}。
CRTSTUFF_T_CFLAGS_S
共用リンク用に`crtstuff.c'をコンパイルする際に使われる特殊なフラグです。 EXTRA-PARTSの中で、 `crtbeginS.o'`crtendS.o'を使う場合に使われます。
MULTILIB_OPTIONS
ターゲットによっては、 異なる方法でGCCを起動して生成したオブジェクトを一緒にリンクすることができません。 例えばGCCは、 いくつかのターゲットでは、 ビッグ・エンディアンのコードとリトル・エンディアンのコードをどちらも生成することができます。 このようなターゲットにおいては、 互いに互換性のないオプションの個々の組み合わせについて、 `libgcc.a'を別々にコンパイルするようにしなければなりません。 GCCは、 リンカを起動する際には、 使われているコマンドライン・オプションにしたがって、 正しいバージョンの`libgcc.a'をリンクするよう調整します。 MULTILIB_OPTIONSマクロは、 それ固有の特別な`libgcc.a'が作られなければならない、 オプションの組み合わせの一覧です。 相互に互換性のないオプションを、 スラッシュで区切って、 並べて記述します。 一緒に使うことのできるオプションは、 スペースで区切って記述します。 ビルド・プロシージャが、 互換性のあるオプションのすべての組み合わせを作ります。 例えば、 MULTILIB_OPTIONS`m68000/m68020 msoft-float'のようにセットすると、 `Makefile'は、 `-m68000'`-m68020'`-msoft-float'`-m68000 -msoft-float'`-m68020 -msoft-float' というオプションの組み合わせを使って、 それぞれに固有の`libgcc.a'を作るようになります。
MULTILIB_DIRNAMES
MULTILIB_OPTIONSが使われている場合、 この変数は、 互いに異なるライブラリを置くのに使われるべきディレクトリの名前を指定します。 MULTILIB_OPTIONSの1つの要素に対応して、 MULTILIB_DIRNAMESにも1つの要素を記述してください。 MULTILIB_DIRNAMESが使われていない場合、 そのデフォルトの値は、 MULTILIB_OPTIONSのすべてのスラッシュをスペースで置き換えたものになります。 例えば、 MULTILIB_OPTIONS`m68000/m68020 msoft-float'がセットされたとすると、 MULTILIB_DIRNAMESのデフォルト値は、 `m68000 m68020 msoft-float'となります。 これとは異なるディレクトリ名の集合を使いたいのであれば、 異なる値を指定することができます。
MULTILIB_MATCHES
同一のオプションを、 異なる2つの方法で記述することができる場合があります。 あるオプションがMULTILIB_OPTIONSに指定された場合、 GCCは、 それと同義のオプションをすべて知る必要があります。 このような場合、 MULTILIB_MATCHESに、 `option=option'という形式の項目を一覧にしてセットすることにより、 すべての関連する同義オプションを記述することができます。 例えば、 `m68000=mc68000 m68020=mc68020'のような値を指定します。
MULTILIB_EXCEPTIONS
MULTILIB_OPTIONSの組み合わせが複数指定されている場合、 ライブラリがビルドされてはならない組み合わせの存在する場合があります。 このような場合、 そのような例外的なオプションを、 シェルの記法を用いてMULTILIB_EXCEPTIONSにセットします。 例えば、 PowerPCの組み込み用ABIのサポートにおいては、 `-mcall-aixdesc'オプションと、 `-mrelocatable'(24)オプション、 `-mlittle'オプションのいずれか一方を同時に指定してコンパイルされたライブラリを作ることは、 望ましくありませんでした。 したがって、 MULTILIB_EXCEPTIONSには、 *mrelocatable/*mcall-aixdesc* *mlittle/*mcall-aixdesc*がセットされています。
MULTILIB_EXTRA_OPTS
複数の異なる`libgcc.a'をビルドする際に、 常に特定のオプションをコンパイラに渡すのが望ましい場合があります。 このような場合、 ライブラリをビルドする際に常に使われるべきオプションの一覧を、 MULTILIB_EXTRA_OPTSにセットします。

ホスト・メイクファイルの断片

ホスト・メイクファイルの断片ファイル`x-host'は、 ホストに依存する特殊な変数や、 `Makefile'の中で使われるターゲットを定義します。

CC
最初のステージをビルドする際に使われるコンパイラです。
CLIB
追加してリンクするべきホスト・ライブラリです。
OLDCC
ネイティブ・コンパイル用の`libgcc1.a'をビルドする際に使われるコンパイラです。
OLDAR
ネイティブ・コンパイル用の`libgcc1.a'をビルドする際に使われるarです。
INSTALL
インストール用に使われるプログラムです。


[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]