基本的にunix系の環境で構築するのを推奨,windows系ならcygwin、msysで
unix系でwindowsで動作可能なコンパイラを作ることもできます。
ただし、その環境を作る作業のほうが難易度高です。
GUIではコンソールの環境で作業します
まずは、binutilsの作成からです。
$ mkdir binutils
作業フォルダの作成
$ cd binutils
そこに移動
$ wget http://www.ring.gr.jp/archives/GNU/binutils/binutils-2.23.1.tar.bz2
本家もしくはミラーサイトよりbinutilsのなるべく最新のものをダウンロード
$ tar xjf binutils-2.23.1.tar.bz2
圧縮ファイルの解凍
$ mkdir build
ビルドフォルダの作成
$ cd build
フォルダに移動
$ ../binutils-2.23.1/configure --prefix=/usr/local -enable-64-bit-bfd --enable-checking=release --target=rl78-elf
configureの実行
$ make -j4
makeの実行(4は4コアの場合)
$ su
スーパーユーザーモードに
# make install
インストール先は/usr/local
# exit
スーパーユーザーモード解除
$ cd ..
$ cd ..
これでbinutilsの作成は終わり
次にgccの作成(最初はライブラリがないため、2回作業が必要)
注 gmp,mpfr,mpcがインストールされていること
$ mkdir gcc
作業フォルダの作成
$ cd gcc
そこに移動
$ wget http://www.ring.gr.jp/archives/lang/egcs/releases/gcc-4.7.2/gcc-4.7.2.tar.bz2
本家もしくはミラーサイトよりなるべく最新のものをダウンロード
$ mkdir build
ビルドフォルダの作成
$ cd build
フォルダに移動
$ tar xjf gcc-4.7.2.tar.bz2
圧縮ファイルの解凍
$ mkdir build
ビルドフォルダの作成
$ cd build
フォルダに移動
$ .../gcc-4.7.2/configure --prefix=/usr/local --enable-checking=release --enable-languages=c --target=rl78-elf
configureの実行
$ make all-gcc all-target-libgcc -j4
Cコンパイラのみを作成
$ su
スーパーユーザーモードに
# make install-gcc install-target-libgcc -j4
インストール先は/usr/local
# exit
スーパーユーザーモード解除
$ cd ..
$ cd ..
初回のgccの作成はここまで
次にnewlibの作成
$ mkdir newlib
作業フォルダの作成
$ cd newlib
そこに移動
ダウンロードと圧縮ファイルの解凍は略
$ mkdir build
$ cd build
$ ../newlib-1.20.0/configure --prefix=/usr/local –target=rl78-elf
configureの実行
$ make -j4
Cコンパイラのみを作成
$ su
スーパーユーザーモードに
# make install -j4
インストール先は/usr/local
# exit
スーパーユーザーモード解除
$ cd ..
$ cd ..
Cコンパイラのみはここまで
最終段階のgccの作成
$ cd gcc
$ rm build -fr
一度、初回作成のフォルダを削除
$ mkdir build
$ cd build
$ .../gcc-4.7.2/configure --prefix=/usr/local --enable-checking=release --enable-languages=c
,c++ --target=rl78-elf
--with-newlibconfigureの実行(c++、newlibを追加)
$ make -j4
$ su
# make install -j4
# exit
$ cd ..
$ cd ..
これでコンパイラの作成は終了
$ rl78-elf-gcc -v
組み込み spec を使用しています。
COLLECT_GCC=rl78-elf-gcc
COLLECT_LTO_WRAPPER=/usr/local/rl78/libexec/gcc/rl78-elf/4.7.2/lto-wrapper
ターゲット: rl78-elf
configure 設定: ../gcc-4.7.2/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --target=rl78-elf --with-newlib
スレッドモデル: single
gcc バージョン 4.7.2 (GCC) と表示されれば終わり
[1回]