これらのツールをインストールするには、何よりもまずソースを取得する必要が
あります。有名なソフトウェアなのですぐ見つかるでしょう。取得方法について
詳しくは述べません。以下の文章では、gcc-2.7.2.3
,
binutils-2.9.1
, newlib-1.7.1
を使用することを仮定していま すが、他のバージョンでもほぼ同じだと思います。
binutilsをインストールするには、毎度お馴染のconfigure
と
make
を実行します。
./configure --target=h8300-hms --prefix=/usr/local make all make install
h8300-hmsは H8(正確にはH8/300)を表す識別子です。これからよく使
うので覚えておいて下さい。上では/usr/local
を指定しています
が、他のディレクトリでもかまいません。
これを実行すると、アセンブラやリンカがインストールされます。これらのコマ
ンドは、頭にh8300-hms-がついています。(例えばas
の代わり
にh8300-hms-as
)
まず、GCCをコンパイルするためにconfigure
スクリプトを実行します。
binutilsをインストールしたときと同じオプションを指定して下さい。
./configure --target=h8300-hms --prefix=/usr/local
prefixオプションでは、binutilsをインストールした時と同じディレ クトリを指定して下さい。
残念ながら、このあとmake
一発ではコンパイルできません。
Makefile
を書き変えて、LIBGCC2_INCLUDESに
-Dinhibit_libcを加えて下さい。(このオプションはインクルードとは
関係ないんだけど許してね)
LIBGCC2_INCLUDES = -Dinhibit_libc
そして、make
を実行します。ここではCコンパイラしか作れませんので、
引数としてLANGUAGES=Cを指定することでC++コンパイラを作らないよ
うにします。
make LANGUAGES=C all make LANGUAGES=C install
次に、float.h
を入れ替えます。普通は浮動小数点の扱いがCPUごとに違
うため、クロス環境ではfloatを(デフォルトでは)使えないようになっています。
しかしH8にはFPUがないため、このへんはごまかしてしまいましょう。ホスト用
のfloat.hをコピーしてしまいます。下のディレクトリ名は環境に応じて変えて
下さい。
cp /usr/lib/gcc-lib/i386-linux/2.95.2/include/float.h /usr/local/lib/gcc-lib/h8300-hms/2.7.2.3/include/float.h
この時点でCプログラムをコンパイルできるようになっているはずです。
Newlibもいつも通りconfigure
とmake
でインストールします。オ
プションはいつものものを使います。
./configure --target=h8300-hms --prefix=/usr/local make all make install
これで終わり。簡単ですね。
make
をし直します。
make all make install
float.h
を入れ換えましょう。
kp9m-iwt@asahi-net.or.jp