toolchain_palmos.sh
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:3k
源码类别:

Windows CE

开发平台:

C/C++

  1. #!/bin/sh
  2. MODE=palmos
  3. PREFIX=/usr/arm-tcpmp-palmos
  4. TARGET=arm-tcpmp-palmos
  5. BINUTILS="binutils-2.14"
  6. GCC="gcc-3.4.3"
  7. PRCTOOLS="prc-tools-2.3"
  8. PATH=$PATH:$PREFIX/bin
  9. SRCDIR="`pwd`"
  10. TMPDIR="/tmp/tcpmp"
  11. PATCH="patch -p1"
  12. MAKE="make"
  13. WGET="wget"
  14. #-------------
  15. # 1. download
  16. #-------------
  17. if test ! -f "$BINUTILS.tar.gz" ; then
  18.   $WGET ftp://ftp.gnu.org/pub/gnu/binutils/$BINUTILS.tar.gz || { echo "error downloading binutils"; exit; }
  19. fi
  20. if test ! -f "$GCC.tar.bz2" ; then
  21.   $WGET ftp://ftp.gnu.org/pub/gnu/gcc/$GCC/$GCC.tar.bz2 || { echo "error downloading gcc"; exit; }
  22. fi
  23. if test ! -f "$PRCTOOLS.tar.gz" ; then
  24.   $WGET http://puzzle.dl.sourceforge.net/sourceforge/prc-tools/$PRCTOOLS.tar.gz || { echo "error downloading prc-tools"; exit; }
  25. fi
  26. #------------------------
  27. # 2. unpack and patching
  28. #------------------------
  29. mkdir -p "$TMPDIR"; cd "$TMPDIR"
  30. rm -Rf $BINUTILS
  31. gzip -cd "$SRCDIR/$BINUTILS.tar.gz" | tar xvf -
  32. cd $BINUTILS
  33. cat "$SRCDIR/$BINUTILS.$MODE.diff" | $PATCH || { echo "error patching binutils"; exit; }
  34. cd ..
  35. rm -Rf $GCC
  36. bzip2 -cd "$SRCDIR/$GCC.tar.bz2" | tar xvf -
  37. cd $GCC
  38. cat "$SRCDIR/$GCC.$MODE.diff" | $PATCH || { echo "error patching gcc"; exit; }
  39. cd ..
  40. rm -Rf $PRCTOOLS
  41. gzip -cd "$SRCDIR/$PRCTOOLS.tar.gz" | tar xvf -
  42. cp "$SRCDIR/libc-palmos/Makefile" $PRCTOOLS/libc
  43. #------------------------
  44. # 3. making and install
  45. #------------------------
  46. mkdir -p $PREFIX/$TARGET
  47. cp -r /usr/arm-palmos $PREFIX || { echo "error coping arm-palmos"; exit; }
  48. mv $PREFIX/arm-palmos $PREFIX/$TARGET
  49. mkdir -p $PREFIX/share/prc-tools
  50. cp -r /usr/share/prc-tools/include $PREFIX/share/prc-tools/ || { echo "error coping prc-tools include directory"; exit; }
  51. mkdir $BINUTILS/build-$MODE
  52. mkdir $GCC/build-$MODE
  53. cd $BINUTILS/build-$MODE
  54. ../configure --target=$TARGET --prefix=$PREFIX --disable-nls || { echo "error config binutils"; exit; }
  55. $MAKE clean
  56. $MAKE all || { echo "error making binuitls"; exit; }
  57. $MAKE install || { echo "error installing binuitls"; exit; }
  58. cd ../..
  59. cd $GCC/build-$MODE
  60. ../configure --target=$TARGET --prefix=$PREFIX --disable-nls 
  61.     --enable-languages=c,c++ --without-headers --with-newlib || { echo "error config gcc"; exit; }
  62. $MAKE clean
  63. $MAKE all-gcc || { echo "error making gcc"; exit; }
  64. $MAKE install-gcc || { echo "error installing gcc"; exit; }
  65. cd ../..
  66. if test -f "/usr/lib/gcc-lib/arm-palmos/specs" ; then
  67.   #linux
  68.   cp /usr/lib/gcc-lib/arm-palmos/specs $PREFIX/lib/gcc/$TARGET  || { echo "error coping specs"; exit; }
  69. else
  70.   #cygwin
  71.   cp /lib/gcc-lib/arm-palmos/specs $PREFIX/lib/gcc/$TARGET || { echo "error coping specs"; exit; }
  72. fi
  73. cd $PRCTOOLS/libc
  74. $MAKE clean
  75. $MAKE all || { echo "error making prc-tools libc"; exit; }
  76. $MAKE install || { echo "error installing prc-tools libc"; exit; }
  77. cd ../..
  78. #------------------------
  79. # 4. clean up
  80. #------------------------
  81. rm -Rf $BINUTILS
  82. rm -Rf $GCC
  83. rm -Rf $PRCTOOLS