toolchain_palmos.sh
资源名称:tcpmp.rar [点击查看]
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:3k
源码类别:
Windows CE
开发平台:
C/C++
- #!/bin/sh
- MODE=palmos
- PREFIX=/usr/arm-tcpmp-palmos
- TARGET=arm-tcpmp-palmos
- BINUTILS="binutils-2.14"
- GCC="gcc-3.4.3"
- PRCTOOLS="prc-tools-2.3"
- PATH=$PATH:$PREFIX/bin
- SRCDIR="`pwd`"
- TMPDIR="/tmp/tcpmp"
- PATCH="patch -p1"
- MAKE="make"
- WGET="wget"
- #-------------
- # 1. download
- #-------------
- if test ! -f "$BINUTILS.tar.gz" ; then
- $WGET ftp://ftp.gnu.org/pub/gnu/binutils/$BINUTILS.tar.gz || { echo "error downloading binutils"; exit; }
- fi
- if test ! -f "$GCC.tar.bz2" ; then
- $WGET ftp://ftp.gnu.org/pub/gnu/gcc/$GCC/$GCC.tar.bz2 || { echo "error downloading gcc"; exit; }
- fi
- if test ! -f "$PRCTOOLS.tar.gz" ; then
- $WGET http://puzzle.dl.sourceforge.net/sourceforge/prc-tools/$PRCTOOLS.tar.gz || { echo "error downloading prc-tools"; exit; }
- fi
- #------------------------
- # 2. unpack and patching
- #------------------------
- mkdir -p "$TMPDIR"; cd "$TMPDIR"
- rm -Rf $BINUTILS
- gzip -cd "$SRCDIR/$BINUTILS.tar.gz" | tar xvf -
- cd $BINUTILS
- cat "$SRCDIR/$BINUTILS.$MODE.diff" | $PATCH || { echo "error patching binutils"; exit; }
- cd ..
- rm -Rf $GCC
- bzip2 -cd "$SRCDIR/$GCC.tar.bz2" | tar xvf -
- cd $GCC
- cat "$SRCDIR/$GCC.$MODE.diff" | $PATCH || { echo "error patching gcc"; exit; }
- cd ..
- rm -Rf $PRCTOOLS
- gzip -cd "$SRCDIR/$PRCTOOLS.tar.gz" | tar xvf -
- cp "$SRCDIR/libc-palmos/Makefile" $PRCTOOLS/libc
- #------------------------
- # 3. making and install
- #------------------------
- mkdir -p $PREFIX/$TARGET
- cp -r /usr/arm-palmos $PREFIX || { echo "error coping arm-palmos"; exit; }
- mv $PREFIX/arm-palmos $PREFIX/$TARGET
- mkdir -p $PREFIX/share/prc-tools
- cp -r /usr/share/prc-tools/include $PREFIX/share/prc-tools/ || { echo "error coping prc-tools include directory"; exit; }
- mkdir $BINUTILS/build-$MODE
- mkdir $GCC/build-$MODE
- cd $BINUTILS/build-$MODE
- ../configure --target=$TARGET --prefix=$PREFIX --disable-nls || { echo "error config binutils"; exit; }
- $MAKE clean
- $MAKE all || { echo "error making binuitls"; exit; }
- $MAKE install || { echo "error installing binuitls"; exit; }
- cd ../..
- cd $GCC/build-$MODE
- ../configure --target=$TARGET --prefix=$PREFIX --disable-nls
- --enable-languages=c,c++ --without-headers --with-newlib || { echo "error config gcc"; exit; }
- $MAKE clean
- $MAKE all-gcc || { echo "error making gcc"; exit; }
- $MAKE install-gcc || { echo "error installing gcc"; exit; }
- cd ../..
- if test -f "/usr/lib/gcc-lib/arm-palmos/specs" ; then
- #linux
- cp /usr/lib/gcc-lib/arm-palmos/specs $PREFIX/lib/gcc/$TARGET || { echo "error coping specs"; exit; }
- else
- #cygwin
- cp /lib/gcc-lib/arm-palmos/specs $PREFIX/lib/gcc/$TARGET || { echo "error coping specs"; exit; }
- fi
- cd $PRCTOOLS/libc
- $MAKE clean
- $MAKE all || { echo "error making prc-tools libc"; exit; }
- $MAKE install || { echo "error installing prc-tools libc"; exit; }
- cd ../..
- #------------------------
- # 4. clean up
- #------------------------
- rm -Rf $BINUTILS
- rm -Rf $GCC
- rm -Rf $PRCTOOLS