2012-04-24 01:22:36 +00:00
|
|
|
# Copyright 2012 Wolfgang Thaller.
|
|
|
|
#
|
|
|
|
# This file is part of Retro68.
|
|
|
|
#
|
|
|
|
# Retro68 is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# Retro68 is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with Retro68. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
SRC=$(cd `dirname $0` && pwd -P)
|
2012-03-29 08:30:42 +00:00
|
|
|
mkdir -p binutils-build
|
|
|
|
mkdir -p toolchain
|
|
|
|
PREFIX=`pwd`/toolchain/
|
2012-04-03 07:04:22 +00:00
|
|
|
set -e
|
2012-03-29 08:30:42 +00:00
|
|
|
|
|
|
|
cd binutils-build
|
2012-04-06 18:56:16 +00:00
|
|
|
export "CFLAGS=-Wno-error"
|
2014-09-12 22:19:45 +00:00
|
|
|
$SRC/binutils/configure --target=m68k-unknown-elf --prefix=$PREFIX --disable-doc
|
2012-03-29 08:30:42 +00:00
|
|
|
make -j8
|
|
|
|
make install
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
mkdir -p gcc-build
|
|
|
|
cd gcc-build
|
2014-09-19 07:31:51 +00:00
|
|
|
$SRC/gcc/configure --target=m68k-unknown-elf --prefix=$PREFIX --enable-languages=c,c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing
|
2012-03-29 08:30:42 +00:00
|
|
|
make -j8
|
|
|
|
make install
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
BINUTILS=$(cd binutils-build && pwd -P)
|
2012-03-29 08:30:42 +00:00
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
cp $SRC/elf.h $PREFIX/include/
|
|
|
|
export "CFLAGS=-I../../Retro68/binutils/include -I../toolchain/include"
|
2012-03-29 08:30:42 +00:00
|
|
|
mkdir -p elf2flt-build
|
|
|
|
cd elf2flt-build
|
|
|
|
$SRC/elf2flt/configure --target=m68k-unknown-elf --prefix=$PREFIX --with-binutils-build-dir=$BINUTILS
|
2012-04-06 18:56:16 +00:00
|
|
|
make -j8 TOOLDIR=$PREFIX/bin
|
2012-03-29 08:30:42 +00:00
|
|
|
make install
|
2012-04-03 07:04:22 +00:00
|
|
|
unset CFLAGS
|
2012-03-29 08:30:42 +00:00
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
mkdir -p $PREFIX/man/man1
|
2012-03-29 08:30:42 +00:00
|
|
|
rm -rf hfsutils
|
|
|
|
cp -r $SRC/hfsutils .
|
|
|
|
cd hfsutils
|
|
|
|
./configure --prefix=$PREFIX
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
cd ..
|
|
|
|
|
2014-09-24 23:47:49 +00:00
|
|
|
sh "$SRC/prepare-headers.sh" "$SRC/CIncludes" toolchain/m68k-unknown-elf/include
|
2012-03-29 08:30:42 +00:00
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
mkdir -p build-host
|
|
|
|
cd build-host
|
|
|
|
cmake ../../Retro68/ -DCMAKE_INSTALL_PREFIX=$PREFIX
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
mkdir -p build-target
|
|
|
|
cd build-target
|
|
|
|
cmake ../../Retro68/ -DCMAKE_INSTALL_PREFIX=$PREFIX/m68k-unknown-elf \
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE=$SRC/retro68.toolchain.cmake \
|
|
|
|
-DRETRO68_ROOT=$PREFIX \
|
|
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
make -C build-host install
|
2012-04-15 01:35:14 +00:00
|
|
|
|
2014-09-19 17:02:17 +00:00
|
|
|
if test ! -e $PREFIX/bin/m68k-unknown-elf-as.real; then
|
|
|
|
mv $PREFIX/bin/m68k-unknown-elf-as $PREFIX/bin/m68k-unknown-elf-as.real
|
|
|
|
ln -s $PREFIX/bin/asfilter $PREFIX/bin/m68k-unknown-elf-as
|
|
|
|
mv $PREFIX/m68k-unknown-elf/bin/as $PREFIX/m68k-unknown-elf/bin/as.real
|
|
|
|
ln -s $PREFIX/bin/asfilter $PREFIX/m68k-unknown-elf/bin/as
|
|
|
|
fi
|
2012-04-15 01:35:14 +00:00
|
|
|
|
2012-04-06 18:56:16 +00:00
|
|
|
make -C build-target install
|