#!/bin/sh # http://www.nongnu.org/avr-libc/user-manual/install_tools.html # TODO: avrdude needs to be root for accessing /sys usb files. There seem to be no hotplug events for the tinyusb programmer # # preparations: create the installation directory owned by the user # who is going to execute this script. cat <<'EOF' >profile export PREFIX=/usr/local/avr export PATH=/usr/local/avr/bin:$PATH EOF . profile set -e # avrdude wget http://download.savannah.gnu.org/releases/avrdude/avrdude-5.5.tar.gz wget http://download.savannah.gnu.org/releases/avrdude/avrdude-doc-5.5.pdf tar xzf avrdude-5.5.tar.gz cd avrdude-5.5 ./configure --prefix=$PREFIX --exec-prefix=$PREFIX make make install cd .. cp -p avrdude-doc-5.5.pdf $PREFIX/avrdude.pdf # binutils wget http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2 tar xjf binutils-2.18.tar.bz2 cd binutils-2.18 mkdir obj-avr cd obj-avr ../configure --prefix=$PREFIX --target=avr --disable-nls make make install cd ../.. # gcc wget ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-4.2.2/gcc-4.2.2.tar.bz2 tar xjf gcc-4.2.2.tar.bz2 cd gcc-4.2.2 mkdir obj-avr cd obj-avr ../configure --prefix=$PREFIX --target=avr --enable-languages=c --disable-nls --disable-libssp --with-dwarf2 make make install cd ../.. # libc # on-line manual: http://www.nongnu.org/avr-libc/user-manual/index.html wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.2.tar.bz2 wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-manpages-1.6.2.tar.bz2 wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-user-manual-1.6.2.pdf.bz2 tar xjf avr-libc-1.6.2.tar.bz2 cd avr-libc-1.6.2 ./configure --prefix=$PREFIX --build=`./config.guess` --host=avr make make install cd .. tar xjf avr-libc-manpages-1.6.2.tar.bz2 find man -depth|cpio -pdm $PREFIX bunzip2 avr-libc-user-manual-1.6.2.pdf.bz2 cp -p avr-libc-user-manual-1.6.2.pdf $PREFIX/libc.pdf