Last Update: "2007/04/27 10:39:04 makoto"
Cross で build.sh
NetBSD の素晴しいところは、クロスで release を作るのがとても簡単な
ことです。
簡単に言うと、次の作業を一行の操作でやってくれます。
- make を用意する (nbmake を作る)
- クロスコンパイラ一式 (tools を作る)
- 作った tools を使って全体をコンパイルする
ソース一式
は用意してあるとして、
どのアーキテクチャでも、
例えば NetBSD/sandpoint 用の release(8) を作るには、次のようにするだけです。
sudo ./build.sh -m sandpoint -a powerpc release
あるいは、後で記録を調べようと思ったら、次のように記録を残しておくようにします。
sudo ./build.sh -m sandpoint -a powerpc release >& ../log-release
cross compile
NetBSD の ./build.sh が素適なのは
クロスコンパイル
がとても簡単なことです。
例えば PlayStation3 用のものを作りたかったら、
sudo ./build.sh -m ps3 -a powerpc64 release >& ../log.release
のようにすれば可能です。
ここで -m が machine つまり箱の名前、-a は architecture で CPU の(種類の)名前です。
通常は machine の方が小さい集合で architecture の方が大きな集合です。
sudo ./build.sh -m macppc -a powerpc release >& ../log.release
等となります。-m が決まれば -a が決まるような場合には -m の指定だけで充分です。
(但し 2007/04 時点では ps3 はまだ TNF に取込まれてはいませんので、実際に
この操作が意味のあるものとなるためには、それなりの変更が必要です)。
また、この操作は、実は NetBSD の機械で行なう必要はありません。
例えば Mac OS X の上でも可能です。
|