43 lines
959 B
Plaintext
Executable File
43 lines
959 B
Plaintext
Executable File
|
|
# Usage
|
|
# sudo ./build_arm
|
|
|
|
# Setup vars
|
|
export TARGET=arm-none-eabi
|
|
export PREFIX=/opt/gnuarm
|
|
export PATH=$PATH:$PREFIX/bin
|
|
export JN
|
|
export JN='-j 8'
|
|
|
|
rm -rf build-*
|
|
rm -rf gcc-*
|
|
rm -rf binutils-*
|
|
|
|
# Get archives
|
|
wget http://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2
|
|
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
|
|
|
|
# Extract archives
|
|
bzip2 -dc binutils-2.23.2.tar.bz2 | tar -xf -
|
|
bzip2 -dc gcc-4.8.2.tar.bz2 | tar -xf -
|
|
|
|
# Build binutils
|
|
mkdir build-binutils
|
|
cd build-binutils
|
|
../binutils-2.23.2/configure --target=$TARGET --prefix=$PREFIX
|
|
echo "MAKEINFO = :" >> Makefile
|
|
make $JN all
|
|
sudo make install
|
|
|
|
# Build GCC
|
|
mkdir ../build-gcc
|
|
cd ../build-gcc
|
|
../gcc-4.8.2/configure --target=$TARGET --prefix=$PREFIX --without-headers --with-newlib --with-gnu-as --with-gnu-ld --enable-languages='c'
|
|
make $JN all-gcc
|
|
sudo make install-gcc
|
|
|
|
# Build libgcc.a
|
|
make $JN all-target-libgcc CFLAGS_FOR_TARGET="-g -O2"
|
|
sudo make install-target-libgcc
|
|
|