[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ターゲットの makefile 断片、‘t-target’ は、 ‘Makefile’ で使われる、 特別なターゲット依存の変数と特別な make のターゲットを定義する。
LIBGCC1
‘libgcc1.a’ を構築するルール。 ターゲットが ‘libgcc1.a’ の中の関数を必要としないのであれば、 空に設定すること。 See section GCC の出力に対するインターフェース.
CROSS_LIBGCC1
クロスコンパイラを作成するときに、‘libgcc1.a’ を構築するのに 使う規則である。ターゲットが ‘libgcc1.a’ にある関数を 使う必要がない場合は、このマクロは空にする。 See section ‘libgcc.a’ とクロスコンパイラ.
LIBGCC2_CFLAGS
‘libgcc2.c’ をコンパイルするときに使うコンパイラのフラグである。
LIB2FUNCS_EXTRA
‘libgcc.a’ に、コンパイルまたはアセンブルして入れるべきファイルの ソースファイル名のリストである。
CRTSTUFF_T_CFLAGS
‘crtsfuff.c’ をコンパイルするときに使われる特別なフラグである。 See section 初期化関数の扱われ方.
CRTSTUFF_T_CFLAGS_S
共有リンク用に ‘crtstuff.c’ をコンパイルするときに使われる
特別なフラグである。
EXTRA-PARTS
で ‘crtbeginS.o’ と ‘crtendS.o’ を
使っている場合にはこのフラグが使われる。
See section 初期化関数の扱われ方.
MULTILIB_OPTIONS
ターゲットによっては、GCC を異なる起動の仕方をすると、 一緒にリンクできないオブジェクトが生成されることがある。 例えば、幾つかのターゲットでは、GCC がビッグエンディアンとリトル エンディアン両方のコードを生成する。 こういうターゲットには、非互換なオプションの組合せに一つずつの、 複数のバージョンの ‘libgcc.a’ をコンパイルするように設定しなければ ならない。GCC がリンカを起動するとき、使われたコマンド行オプションに 応じて、正しいバージョンの ‘libgcc.a’ をリンクするように調整する。
マクロ MULTILIB_OPTIONS
には、‘libgcc.a’ の特別な
バージョンを構築しなければならない場合向けのオプションの組を列挙する。
互いに互換性のないオプションは、スラッシュで区切って並べて書く。
一緒に組み合わせて使うことも出来るオプションはスペースで区切って書く。
構築手順により、互換性のあるオプションの全ての組合せが構築される。
例えば、MULTILIB_OPTIONS
を ‘m68000/m68020 msoft-float’ と
設定したとすると、‘Makefile’ は、‘libgcc.a’ の
特別なバージョンを、‘-m68000’、‘-m68020’、
‘-msoft-float’、‘-m68000 -msoft-float’、‘-m68020 -msoft-float’
というオプションの組合せの分だけ作る。
MULTILIB_DIRNAMES
MULTILIB_OPTIONS
を使う場合、この変数で様々なライブラリを
置くのに使うべきディレクトリ名を指定する。MULTILIB_OPTIONS
の
要素毎に MULTILIB_DIRNAMES
に一つ要素を書くこと。
MULTILIB_DIRNAMES
を使わない場合、デフォルト値は
MULTILIB_OPTIONS
のスラッシュを全て空白として扱ったものになる。
例えば、MULTILIB_OPTIONS
が ‘m68000/m68020 msoft-float’
設定されている場合は、MULTILIB_DIRNAMES
のデフォルト値は
‘m68000 m68020 msoft-float’ となる。
ディレクトリ名として別の組合わせにしたい場合は
別の値を指定すれば良い。
MULTILIB_MATCHES
同じオプションを二つの別の書き方をすることもある。
あるオプションが MULTILIB_OPTIONS
に列挙されている場合、
GCC はその別名について知る必要がある。その場合、
MULTILIB_MATCHES
に、‘option=option’ という形式の
項目のリストを設定し、全ての関係する別名を記述するようにする。
例えば、‘m68000=mc68000 m68020=mc68020’ とする。
MULTILIB_EXCEPTIONS
複数の組の MULTILIB_OPTIONS
が指定されている場合、
その中に構築すべきでない組合せが出てくる場合もある。
そういう場合は、MULTILIB_EXCEPTIONS
を設定して、
構築すべきでないオプションの例外を全て、シェルの case 文の構文で
指定する。
例えば、PowerPC の組み込み ABI サポートでは、‘-mcall-aixdesc’
オプションと、 ‘-mrelocatable’ と ‘-mlittle’ オプションの
どちらかを同時に指定してコンパイルしたライブラリは構築しないのが
望ましい。このため、MULTILIB_EXCEPTIONS
は
*mrelocatable/*mcall-aixdesc* *mlittle/*mcall-aixdesc*
と設定する。
MULTILIB_EXTRA_OPTS
複数のバージョンの ‘libgcc.a’ を構築する時、ある決まったオプション
群を常に GCC にわたすべきであるという場合が時々ある。
その場合は、MULTILIB_EXTRA_OPTS
に、構築するときに必ず使われる
オプションのリストを設定する。
This document was generated
using texi2html 1.78.