mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-08 04:29:46 +00:00
build-toolchain: add --no-68k, --no-ppc, --no-carbon flags.
This commit is contained in:
parent
431390d872
commit
882ff68a18
|
@ -23,11 +23,25 @@ PREFIX=`pwd -P`/toolchain/
|
||||||
BINUTILS=`pwd -P`/binutils-build
|
BINUTILS=`pwd -P`/binutils-build
|
||||||
|
|
||||||
CMAKEONLY=false
|
CMAKEONLY=false
|
||||||
|
BUILD_68K=true
|
||||||
|
BUILD_PPC=true
|
||||||
|
BUILD_CARBON=true
|
||||||
|
|
||||||
for ARG in $*; do
|
for ARG in $*; do
|
||||||
case $ARG in
|
case $ARG in
|
||||||
--cmakeonly)
|
--cmakeonly)
|
||||||
CMAKEONLY=true
|
CMAKEONLY=true
|
||||||
;;
|
;;
|
||||||
|
--no-68k)
|
||||||
|
BUILD_68K=false
|
||||||
|
;;
|
||||||
|
--no-ppc)
|
||||||
|
BUILD_PPC=false
|
||||||
|
BUILD_CARBON=false
|
||||||
|
;;
|
||||||
|
--no-carbon)
|
||||||
|
BUILD_CARBON=false
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "unknown option $ARG"
|
echo "unknown option $ARG"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -35,16 +49,29 @@ for ARG in $*; do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
ARCHS=""
|
||||||
|
if [ $BUILD_68K != false ]; then
|
||||||
|
ARCHS="$ARCHS m68k"
|
||||||
|
fi
|
||||||
|
if [ $BUILD_PPC != false ]; then
|
||||||
|
ARCHS="$ARCHS powerpc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ $CMAKEONLY != true ]; then
|
if [ $CMAKEONLY != true ]; then
|
||||||
|
|
||||||
# Remove old install tree
|
# Remove old install tree
|
||||||
rm -rf toolchain
|
rm -rf toolchain
|
||||||
mkdir -p toolchain
|
mkdir -p toolchain
|
||||||
|
|
||||||
|
|
||||||
|
if [ $BUILD_68K != false ]; then
|
||||||
|
|
||||||
|
export "CFLAGS=-Wno-error"
|
||||||
|
|
||||||
# Build binutils for 68K
|
# Build binutils for 68K
|
||||||
mkdir -p binutils-build
|
mkdir -p binutils-build
|
||||||
cd binutils-build
|
cd binutils-build
|
||||||
export "CFLAGS=-Wno-error"
|
|
||||||
$SRC/binutils/configure --target=m68k-apple-macos --prefix=$PREFIX --disable-doc
|
$SRC/binutils/configure --target=m68k-apple-macos --prefix=$PREFIX --disable-doc
|
||||||
make -j8
|
make -j8
|
||||||
make install
|
make install
|
||||||
|
@ -60,6 +87,11 @@ make install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
unset CFLAGS
|
unset CFLAGS
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $BUILD_PPC != false ]; then
|
||||||
|
|
||||||
# Build binutils for PPC
|
# Build binutils for PPC
|
||||||
mkdir -p binutils-build-ppc
|
mkdir -p binutils-build-ppc
|
||||||
cd binutils-build-ppc
|
cd binutils-build-ppc
|
||||||
|
@ -76,6 +108,10 @@ make -j8
|
||||||
make install
|
make install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $BUILD_68K != false ]; then
|
||||||
|
|
||||||
# Install elf.h (for elf2flt)
|
# Install elf.h (for elf2flt)
|
||||||
mkdir -p $PREFIX/include
|
mkdir -p $PREFIX/include
|
||||||
cp $SRC/elf.h $PREFIX/include/
|
cp $SRC/elf.h $PREFIX/include/
|
||||||
|
@ -89,9 +125,13 @@ $SRC/elf2flt/configure --target=m68k-apple-macos --prefix=$PREFIX --with-binutil
|
||||||
make -j8 TOOLDIR=$PREFIX/bin
|
make -j8 TOOLDIR=$PREFIX/bin
|
||||||
make install
|
make install
|
||||||
unset CFLAGS
|
unset CFLAGS
|
||||||
|
unset CPPFLAGS
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Build hfsutil
|
# Build hfsutil
|
||||||
|
mkdir -p $PREFIX/lib
|
||||||
mkdir -p $PREFIX/man/man1
|
mkdir -p $PREFIX/man/man1
|
||||||
rm -rf hfsutils
|
rm -rf hfsutils
|
||||||
cp -r $SRC/hfsutils .
|
cp -r $SRC/hfsutils .
|
||||||
|
@ -102,13 +142,15 @@ make install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# Install Universal Interfaces
|
# Install Universal Interfaces
|
||||||
for arch in m68k powerpc; do
|
for arch in $ARCHS; do
|
||||||
sh "$SRC/prepare-headers.sh" "$SRC/CIncludes" toolchain/${arch}-apple-macos/include
|
sh "$SRC/prepare-headers.sh" "$SRC/CIncludes" toolchain/${arch}-apple-macos/include
|
||||||
mkdir -p toolchain/${arch}-apple-macos/RIncludes
|
mkdir -p toolchain/${arch}-apple-macos/RIncludes
|
||||||
sh "$SRC/prepare-rincludes.sh" "$SRC/RIncludes" toolchain/${arch}-apple-macos/RIncludes
|
sh "$SRC/prepare-rincludes.sh" "$SRC/RIncludes" toolchain/${arch}-apple-macos/RIncludes
|
||||||
done
|
done
|
||||||
|
|
||||||
cp $SRC/ImportLibraries/*.a toolchain/powerpc-apple-macos/lib/
|
if [ $BUILD_PPC != false ]; then
|
||||||
|
cp $SRC/ImportLibraries/*.a toolchain/powerpc-apple-macos/lib/
|
||||||
|
fi
|
||||||
|
|
||||||
fi # CMAKEONLY
|
fi # CMAKEONLY
|
||||||
|
|
||||||
|
@ -120,11 +162,12 @@ cd ..
|
||||||
make -C build-host install
|
make -C build-host install
|
||||||
|
|
||||||
# create an empty libretrocrt.a so that cmake's compiler test doesn't fail
|
# create an empty libretrocrt.a so that cmake's compiler test doesn't fail
|
||||||
for arch in m68k powerpc; do
|
for arch in $ARCHS; do
|
||||||
$PREFIX/bin/${arch}-apple-macos-ar cqs $PREFIX/${arch}-apple-macos/lib/libretrocrt.a
|
$PREFIX/bin/${arch}-apple-macos-ar cqs $PREFIX/${arch}-apple-macos/lib/libretrocrt.a
|
||||||
done
|
done
|
||||||
# the real libretrocrt.a is built and installed by `make -C build-target install` later
|
# the real libretrocrt.a is built and installed by `make -C build-target install` later
|
||||||
|
|
||||||
|
if [ $BUILD_68K != false ]; then
|
||||||
# Build target-based components for 68K
|
# Build target-based components for 68K
|
||||||
mkdir -p build-target
|
mkdir -p build-target
|
||||||
cd build-target
|
cd build-target
|
||||||
|
@ -132,7 +175,9 @@ cmake ${SRC} -DCMAKE_TOOLCHAIN_FILE=../build-host/cmake/intree.toolchain.cmake \
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cd ..
|
cd ..
|
||||||
make -C build-target install
|
make -C build-target install
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $BUILD_PPC != false ]; then
|
||||||
# Build target-based components for PPC
|
# Build target-based components for PPC
|
||||||
mkdir -p build-target-ppc
|
mkdir -p build-target-ppc
|
||||||
cd build-target-ppc
|
cd build-target-ppc
|
||||||
|
@ -140,7 +185,9 @@ cmake ${SRC} -DCMAKE_TOOLCHAIN_FILE=../build-host/cmake/intreeppc.toolchain.cmak
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cd ..
|
cd ..
|
||||||
make -C build-target-ppc install
|
make -C build-target-ppc install
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $BUILD_CARBON != false ]; then
|
||||||
# Build target-based components for Carbon
|
# Build target-based components for Carbon
|
||||||
mkdir -p build-target-carbon
|
mkdir -p build-target-carbon
|
||||||
cd build-target-carbon
|
cd build-target-carbon
|
||||||
|
@ -148,3 +195,4 @@ cmake ${SRC} -DCMAKE_TOOLCHAIN_FILE=../build-host/cmake/intreecarbon.toolchain.c
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cd ..
|
cd ..
|
||||||
make -C build-target-carbon install
|
make -C build-target-carbon install
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue
Block a user