#!/bin/bash BINUTILS_VER=2.18 GCC_VER=4.3.0 NEWLIB_VER=1.16.0 GMP_VER=4.2.2 MPFR_VER=2.3.1 GDB_VER=6.7.1 TARGET_DIR=/home/Shared/BuildSystems TARGET=m68k-elf HOST=linux-x86_64 echo " - Downloading necessary packages" ## mkdir -p $TARGET_DIR/source ## cd $TARGET_DIR/source ## wget http://www.mpfr.org/mpfr-current/mpfr-$MPFR_VER.tar.bz2 ## wget http://ftp.sunet.se/pub/gnu/gmp/gmp-$GMP_VER.tar.bz2 ## wget ftp://ftp.sunet.se/pub/gnu/gcc/releases/gcc-$GCC_VER/gcc-$GCC_VER.tar.bz2 ## wget ftp://ftp.sunet.se/pub/gnu/binutils/binutils-$BINUTILS_VER.tar.bz2 echo " - Extracting packages" ## tar -xfh mpfr-$MPFR_VER.tar.bz2 ## tar -xfh gmp-$GMP_VER.tar.bz2 ## tar -xfh gcc-$GCC_VER.tar.bz2 ## tar -xfh binutils-$BINUTILS_VER.tar.bz2 echo " - Creating prerequisite library aliases" cd $TARGET_DIR/source/gcc-$GCC_VER ln -s ../newlib-$NEWLIB_VER/newlib . ln -s ../newlib-$NEWLIB_VER/libgloss . export target=$TARGET export host_prefix=$TARGET_DIR/bin/$HOST export cross_prefix=$host_prefix/tools/$TARGET export i=$cross_prefix/bin echo " - Building GMP (prerequisite)" mkdir -p $TARGET_DIR/gen/$HOST/gmp-$GMP_VER cd $TARGET_DIR/gen/$HOST/gmp-$GMP_VER ../../../source/gmp-$GMP_VER/configure --prefix=$host_prefix make make install make clean echo " - Building MPFR (prerequisite)" mkdir -p $TARGET_DIR/gen/$HOST/mpfr-$MPFR_VER cd $TARGET_DIR/gen/$HOST/mpfr-$MPFR_VER ../../../source/mpfr-$MPFR_VER/configure --prefix=$host_prefix make make check make install make clean echo " - Building toolchain" mkdir -p $TARGET_DIR/gen/$HOST/$TARGET/binutils-$BINUTILS_VER cd $TARGET_DIR/gen/$HOST/$TARGET/binutils-$BINUTILS_VER ../../../../source/binutils-$BINUTILS_VER/configure --target=$target --prefix=$cross_prefix make make install make clean echo " - Building GCC" mkdir -p $TARGET_DIR/gen/$HOST/$TARGET/gcc-$GCC_VER cd $TARGET_DIR/gen/$HOST/$TARGET/gcc-$GCC_VER ../../../../source/gcc-$GCC_VER/configure --target=$target --prefix=$cross_prefix --enable-languages=c --with-newlib --enable-newlib-io-long-long --with-gnu-as --with-gnu-ld --with-gmp-lib=$host_prefix/lib --with-gmp-include=$host_prefix/include --with-mpfr-lib=$host_prefix/lib --with-mpfr-include=$host_prefix/include make "CFLAGS = -DREENTRANT_SYSCALLS_PROVIDED"