diff --git a/platform/wiibuild.sh b/platform/wiibuild.sh index 5c7416ef4..6f9806b0c 100644 --- a/platform/wiibuild.sh +++ b/platform/wiibuild.sh @@ -5,15 +5,38 @@ get_abs_path() echo "$(cd "$1" && pwd)" } +get_num_logical_cpus() +{ + getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1 +} + targets=( eduke32 mapster32 ) extensions=( ".dol" ) + +# Change directory to the eduke32 root: + sourcedir="$(dirname "${BASH_SOURCE[0]}")" sourcedir="$(get_abs_path "$sourcedir/..")" pushd "${sourcedir}" >/dev/null + +# Set up PATH + +p=${DEVKITPPC}/bin:${PATH} + +pathstoremove=( "/mingw64/bin" ) + +for i in "${pathstoremove[@]}"; do + p=${p/:${i}/} +done + +export PATH=${p} + + # Detect versioning systems and pull the revision number: + export VC_REV=$(svn info 2> /dev/null | grep Revision | awk '{ print $2 }') vc=svn if [ -z "$VC_REV" ]; then @@ -27,7 +50,10 @@ fi date=$(date +%Y%m%d) -make=( make PLATFORM=WII $* STRIP="" SDLCONFIG="" ) + +# Build: + +make=( make PLATFORM=WII $* STRIP="" ) echo "${make[@]}" "${make[@]}" @@ -40,7 +66,9 @@ for i in "${targets[@]}"; do done done + # Package data: + mkdir -p apps for i in "${targets[@]}"; do @@ -67,9 +95,13 @@ fi ls -l -R apps +cpus=$(get_num_logical_cpus) + rm -f "eduke32-wii-r${VC_REV}-debug-elf.7z" rm -f "eduke32-wii-r${VC_REV}.7z" -7zr a -mx9 -ms=on -t7z "eduke32-wii-r${VC_REV}-debug-elf.7z" *.elf -xr!*.svn* -7zr a -mx9 -ms=on -t7z "eduke32-wii-r${VC_REV}.7z" apps -xr!*.svn* +7zr a -mx9 -ms=on -t7z -m0=lzma2 -mmt${cpus} "eduke32-wii-r${VC_REV}-debug-elf.7z" *.elf -xr!*.svn* +7zr a -mx9 -ms=on -t7z -m0=lzma2 -mmt${cpus} "eduke32-wii-r${VC_REV}.7z" apps -xr!*.svn* + +# Clean up: popd >/dev/null