You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
#!/usr/bin/env bash |
|
|
|
# exit when any command fails |
|
set -euo pipefail |
|
|
|
#set compiler params |
|
export TARGET='m68k-amigaos' |
|
export SYSROOT=/opt/$TARGET |
|
export M68K_CPU=68040 |
|
export M68K_FPU=hard |
|
export M68K_CPU_FPU="-m${M68K_CPU} -m${M68K_FPU}-float" |
|
export M68K_COMMON="-s -ffast-math -fomit-frame-pointer" |
|
export M68K_CFLAGS="${M68K_CPU_FPU} ${M68K_COMMON}" |
|
export M68K_CXXFLAGS="${M68K_CPU_FPU} ${M68K_COMMON}" |
|
|
|
PARALLELISM="$(getconf _NPROCESSORS_ONLN)" |
|
|
|
declare -ra CMAKE_FLAGS=( |
|
-DM68K_CPU="$M68K_CPU" |
|
-DM68K_FPU="$M68K_FPU" |
|
-DM68K_COMMON="$M68K_COMMON" |
|
-DBUILD_SHARED_LIBS=OFF |
|
-DCMAKE_BUILD_TYPE=Release |
|
-DCMAKE_INSTALL_PREFIX="${SYSROOT}/usr" |
|
) |
|
|
|
mkdir -p deps |
|
mkdir -p ${SYSROOT}/usr/lib |
|
mkdir -p ${SYSROOT}/usr/include |
|
cd deps |
|
|
|
# ZLIB |
|
wget https://www.zlib.net/zlib-1.2.11.tar.gz -O zlib-1.2.11.tar.gz |
|
tar -xvf zlib-1.2.11.tar.gz |
|
mkdir -p zlib-1.2.11/build |
|
cd zlib-1.2.11 |
|
cmake -S. -Bbuild "${CMAKE_FLAGS[@]}" -DM68K_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -noixemul -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14" |
|
cmake --build build -j"$PARALLELISM" --config Release --target install |
|
cd .. |
|
|
|
# SDL1.2 |
|
wget https://github.com/AmigaPorts/libSDL12/archive/master.tar.gz -O SDL-1.2.tar.gz |
|
tar -xvf SDL-1.2.tar.gz |
|
cd libSDL12-master |
|
make PREFX=${SYSROOT} PREF=${SYSROOT} -j"$PARALLELISM" |
|
mkdir -p ${SYSROOT}/usr/lib |
|
mkdir -p ${SYSROOT}/usr/include |
|
cp -fvr libSDL.a ${SYSROOT}/usr/lib/ |
|
cp -fvr include/* ${SYSROOT}/usr/include/ |
|
cd ..
|
|
|