Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- echo "*** ROCKBOX BUILD TOOLS FOR ARM CORTEX-M4 ***"
- echo "* Benjamin Brown - October, 2013"
- echo ""
- echo "* A SIMPLE SCRIPT FOR BUILDING THE ARM CORTEX TOOLCHAIN ADAPTED FROM:"
- echo "http://cu.rious.org/make/compiling-the-arm-cortex-m4-toolchain-yourself/"
- echo ""
- echo "* INSTALL DEPENDENCIES"
- echo "flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf"
- echo "texinfo build-essential libftdi-dev libexpat1 libexpat1-dev"
- echo ""
- echo "* FOR 64 BIT HOSTS:"
- echo "libc6-dev-i386"
- echo ""
- echo "***THIS SCRIPT NEEDS TO BE RUN AS ROOT***"
- echo "***WARNING THIS SCRIPT DOES NOT DO ANY ERROR CHECKING***"
- echo "***USE THIS SCRIPT AT YOUR OWN RISK***"
- echo "***EDIT THIS SCRIPT TO CONTINUE***"
- exit 1
- echo "* DO OUR WORK IN /TMP"
- cd /tmp
- mkdir src
- cd src
- echo "* RETRIEVING AND EXTRACTING REQUIRED SOURCES"
- wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
- tar jxvf binutils-2.21.1a.tar.bz2
- wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
- tar zxvf newlib-1.19.0.tar.gz
- wget ftp://mirrors.kernel.org/gnu/gcc/gcc-4.6.2/gcc-4.6.2.tar.bz2
- tar jxvf gcc-4.6.2.tar.bz2
- wget http://ftp.gnu.org/gnu/gdb/gdb-7.3.1.tar.bz2
- tar jxvf gdb-7.3.1.tar.bz2
- echo "* BUILDING REQUIRED BINARY UTILITIES"
- cd binutils-2.21.1/
- ./configure --target=arm-none-eabi --prefix=/usr/local/cortex --enable-interwork --enable-multilib --disable-nls --disable-libssp
- make all
- echo "* INSTALLING REQUIRED BINARY UTILITIES"
- make install
- cd ..
- echo "* BOOTSTRAPPING GCC"
- cd gcc-4.6.2/
- mkdir objdir
- cd objdir/
- ../configure --target=arm-none-eabi --prefix=/usr/local/cortex --enable-interwork --enable-multilib --enable-languages="c" --with-newlib --with-headers=../../newlib-1.19.0/newlib/libc/include/ --disable-libssp --disable-nls --with-system-zlib --with-fpu=vfp
- make all-gcc
- make install-gcc
- echo "* LINKING /usr/local/cortex/bin/arm-none-eabi-* TO /usr/local/bin/arm-none-eabi-*"
- cd /usr/local/bin/
- ln -s ../cortex/bin/arm-none-eabi-addr2line
- ln -s ../cortex/bin/arm-none-eabi-ar
- ln -s ../cortex/bin/arm-none-eabi-as
- ln -s ../cortex/bin/arm-none-eabi-c++filt
- ln -s ../cortex/bin/arm-none-eabi-cpp
- ln -s ../cortex/bin/arm-none-eabi-elfedit
- ln -s ../cortex/bin/arm-none-eabi-gcc
- ln -s ../cortex/bin/arm-none-eabi-gcc arm-none-eabi-cc
- ln -s ../cortex/bin/arm-none-eabi-gcc-4.6.2
- ln -s ../cortex/bin/arm-none-eabi-gcov
- ln -s ../cortex/bin/arm-none-eabi-gprof
- ln -s ../cortex/bin/arm-none-eabi-ld
- ln -s ../cortex/bin/arm-none-eabi-ld.bfd
- ln -s ../cortex/bin/arm-none-eabi-nm
- ln -s ../cortex/bin/arm-none-eabi-objcopy
- ln -s ../cortex/bin/arm-none-eabi-objdump
- ln -s ../cortex/bin/arm-none-eabi-ranlib
- ln -s ../cortex/bin/arm-none-eabi-readelf
- ln -s ../cortex/bin/arm-none-eabi-size
- ln -s ../cortex/bin/arm-none-eabi-strings
- ln -s ../cortex/bin/arm-none-eabi-strip
- cd /tmp/src/
- echo "* BUILDING NEWLIB"
- cd newlib-1.19.0/
- ./configure --target=arm-none-eabi --prefix=/usr/local/cortex --enable-interwork --enable-multilib --disable-libssp --disable-nls
- make all
- echo "* INSTALLING NEWLIB"
- make install
- cd ..
- echo "* BUILDING GCC"
- cd gcc-4.6.2/objdir/
- make all
- echo "* INSTALLING GCC"
- make install
- cd ../..
- echo "* BUILDING GDB"
- cd gdb-7.3.1/
- ./configure --target=arm-none-eabi --prefix=/usr/local/cortex --enable-interwork --enable-multilib --disable-libssp --disable-nls
- make all
- echo "* INSTALLING GDB"
- make install
- echo "*** FINISHED ***"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement