mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 05:04:01 +08:00
72 lines
1.4 KiB
Bash
72 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function help_page () {
|
|
echo "./$(basename "$0") [switches]"
|
|
echo "switches:"
|
|
echo " --deps: rebuild third-party dependencies"
|
|
echo " --help: show this page"
|
|
}
|
|
|
|
# use 70%
|
|
build_threads="$(( $(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 0) * 70 / 100 ))"
|
|
[[ $build_threads -lt 2 ]] && build_threads=2
|
|
|
|
BUILD_DEPS=0
|
|
for (( i=1; i<=$#; ++i )); do
|
|
arg="${!i}"
|
|
if [[ "$arg" = "--deps" ]]; then
|
|
BUILD_DEPS=1
|
|
elif [[ "$arg" = "--help" ]]; then
|
|
help_page
|
|
exit 0
|
|
else
|
|
echo "invalid arg $arg" 1>&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
premake_exe=./"third-party/common/linux/premake/premake5"
|
|
if [[ ! -f "$premake_exe" ]]; then
|
|
echo "preamke wasn't found" 1>&2
|
|
exit 1
|
|
fi
|
|
chmod 777 "$premake_exe"
|
|
|
|
# build deps
|
|
if [[ $BUILD_DEPS = 1 ]]; then
|
|
export CMAKE_GENERATOR="Unix Makefiles"
|
|
"$premake_exe" --file="premake5-deps.lua" --all-ext --all-build --64-build --32-build --verbose --clean --os=linux gmake2 || {
|
|
exit 1;
|
|
}
|
|
fi
|
|
|
|
"$premake_exe" --genproto --os=linux gmake2 || {
|
|
exit 1;
|
|
}
|
|
|
|
pushd ./"build/project/gmake2/linux"
|
|
|
|
# you can select individual or all
|
|
|
|
echo; echo building debug x64
|
|
make -j $build_threads config=debug_x64 || {
|
|
exit 1;
|
|
}
|
|
|
|
echo; echo building debug x32
|
|
make -j $build_threads config=debug_x32 || {
|
|
exit 1;
|
|
}
|
|
|
|
echo; echo building release x64
|
|
make -j $build_threads config=release_x64 || {
|
|
exit 1;
|
|
}
|
|
|
|
echo; echo building release x32
|
|
make -j $build_threads config=release_x32 || {
|
|
exit 1;
|
|
}
|
|
|
|
popd
|