2019-05-01 18:05:15 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2019-08-28 00:18:26 +02:00
|
|
|
if echo "$HOME" | grep "com.termux"; then
|
|
|
|
echo "-- Configuring for termux"
|
|
|
|
export JAVAC=ecj
|
|
|
|
export JAVA=true # /bin/true does nothing but returns success
|
|
|
|
export JAR=true
|
|
|
|
export JAVADOC=true
|
|
|
|
TERMUX_ARG="--termux"
|
2019-09-10 07:27:21 +02:00
|
|
|
TOOLCHAIN=host
|
2019-08-28 00:18:26 +02:00
|
|
|
else
|
|
|
|
echo "-- Configuring for Android SDK/NDK"
|
2019-09-10 07:27:21 +02:00
|
|
|
TOOLCHAIN=4.9
|
2019-08-28 00:18:26 +02:00
|
|
|
fi
|
2019-09-10 07:27:21 +02:00
|
|
|
ARCHS="armeabi-v7a armeabi x86"
|
2019-05-12 01:59:59 +02:00
|
|
|
API=9
|
2019-05-01 18:05:15 +02:00
|
|
|
ROOT="$PWD" # compile.sh must be run from root of android project sources
|
2019-05-06 03:24:42 +02:00
|
|
|
SUBDIRS="xash3d-fwgs hlsdk-xash3d"
|
|
|
|
SYMLINKS_APPEND=""
|
2019-05-06 18:12:39 +02:00
|
|
|
if [ $# -ne 2 ]; then
|
|
|
|
BUILD_TYPE=debug
|
|
|
|
else
|
|
|
|
BUILD_TYPE=$1
|
|
|
|
fi
|
2019-05-06 03:24:42 +02:00
|
|
|
|
|
|
|
# Cleanup libraries
|
|
|
|
rm -rf android/lib/
|
2019-05-01 18:05:15 +02:00
|
|
|
|
2019-07-29 07:39:40 +02:00
|
|
|
# Generate extras.pak(TODO: move this to waf somehow)
|
|
|
|
if [ -L "xash3d-fwgs-sl" ]; then
|
|
|
|
python xash3d-fwgs-sl/scripts/makepak.py xash-extras android/assets/extras.pak
|
|
|
|
else
|
|
|
|
python xash3d-fwgs/scripts/makepak.py xash-extras android/assets/extras.pak
|
|
|
|
fi
|
2019-05-06 19:18:38 +02:00
|
|
|
|
2019-05-01 18:05:15 +02:00
|
|
|
# Generate configs
|
|
|
|
android/gen-config.sh android/
|
|
|
|
android/gen-version.sh android/
|
|
|
|
|
2019-05-06 18:12:39 +02:00
|
|
|
# configure android project
|
2019-08-28 00:18:26 +02:00
|
|
|
./waf configure -T $BUILD_TYPE $TERMUX_ARG|| exit 1
|
2019-05-06 18:12:39 +02:00
|
|
|
|
2019-05-01 18:05:15 +02:00
|
|
|
build_native_project()
|
|
|
|
{
|
2019-05-06 03:24:42 +02:00
|
|
|
mkdir -p $ROOT/build-$1/$2
|
|
|
|
if [ -L "$1-sl" ]; then
|
|
|
|
cd $1-sl # need to change directory, as waf doesn't work well with symlinks(used in development purposes)
|
|
|
|
else
|
|
|
|
cd $1
|
|
|
|
fi
|
2019-05-06 18:12:39 +02:00
|
|
|
./waf -o $ROOT/build-$1/$2 configure -T $BUILD_TYPE --android="$2,$3,$4" build || exit 1
|
|
|
|
./waf install --destdir=$ROOT/build/android/
|
2019-05-06 03:24:42 +02:00
|
|
|
cd $ROOT # obviously, we can't ../ from symlink directory, so change to our root directory
|
2019-05-01 18:05:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# Do it inside waf?
|
2019-09-10 07:27:21 +02:00
|
|
|
for i in $ARCHS; do
|
|
|
|
for j in $SUBDIRS; do
|
|
|
|
build_native_project "$j" "$i" "$TOOLCHAIN" "$API"
|
|
|
|
done
|
|
|
|
done
|
2019-05-01 18:05:15 +02:00
|
|
|
|
|
|
|
# Run waf
|
2019-08-28 00:18:26 +02:00
|
|
|
./waf build -v|| exit 1
|
2019-05-06 18:12:39 +02:00
|
|
|
|
|
|
|
# sign
|
|
|
|
cp build/android/xashdroid-src.apk xashdroid.apk
|
2019-07-29 07:06:16 +02:00
|
|
|
|
|
|
|
# :)
|
2019-08-28 00:18:26 +02:00
|
|
|
if [ "$USER" = "a1ba" ]; then
|
2019-07-29 07:06:16 +02:00
|
|
|
apksigner sign --ks ../myks.keystore xashdroid.apk
|
|
|
|
fi
|