make時に必要な情報をオプションで指定する必要がある。
- 必要な設定
- cflags
- コンパイラのincludeディレクトリを指定
- コンパイルスイッチを指定
- lflags
- コンパイラのlibディレクトリを指定
- target-arch
- armに固定 ※armの開発だったため
- cflags
- 任意な設定
- prefix
- $ROOTに設定される。 make install 時に”$(ROOT)/sbin/lcrash”のディレクトリにlcrashがコピーされる。
- mandir
- $mandirに設定される。make install 時に”$(ROOT)$(mandir)/man1”のディレクトリにman/lcrash.1がコピーされる。
- prefix
./configure \ --cflags="-I /opt/montavista/mobilinux/devkit/arm/v6_vfp_le/include/ -DCFLAG1 -DCRLAG2" \ --lflags="-L /opt/montavista/mobilinux/devkit/arm/v6_vfp_le/lib/" \ --target-arch=arm \ --prefix=”任意のパス(make install時のlcrashインストール先のパスを指定)”
※lcrashをビルドするには、binutilsをインストールした際に生成される以下のファイルをリンクするように cflags と lflags へ、パスを通す必要があります。
crashをビルドするにあたり、EABIに対応したbinutils2.17.50へパスを通しました。
./lib/libopcodes.la ./lib/libopcodes.a ./lib/libbfd.la ./lib/libbfd.a ./include/dis-asm.h ./include/bfd.h ./include/ansidecl.h ./include/symcat.h ./include/bfdlink.h ./info/bfd.info
後は、以下のようにビルドを行えばOK
lcrashのビルド
> make
lkcdutils/lcrashディレクトリ直下にlcrashがビルドされる。
root権限のないユーザ、かつ、–prefixオプションを使用していない場合はこのlcrashを使用する。
> make install
これにより、/sbin/lcrash 配下にlcrashツールがインストールされる。
–prefixオプション使用時は、$(ROOT)/sbin/lcrash 配下へインストールされる。
コメント