mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-29 23:32:23 +00:00
Added support for building for Android on Windows.
This commit is contained in:
parent
3fbe1a61e1
commit
bcc28a0ae3
3 changed files with 79 additions and 5 deletions
9
Makefile
9
Makefile
|
@ -433,12 +433,11 @@ else # ifeq Linux
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
ifeq ($(PLATFORM),android)
|
ifeq ($(PLATFORM),android)
|
||||||
ANDROID_NDK = ~/Android/Sdk/ndk/21.1.6352462
|
|
||||||
ARCH = aarch64
|
ARCH = aarch64
|
||||||
CC = $(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang
|
CC = $(ANDROID_CC)
|
||||||
RANLIB = $(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ranlib
|
RANLIB = $(ANDROID_RANLIB)
|
||||||
TOOLS_CFLAGS += -DARCH_STRING=\"$(COMPILE_ARCH)\"
|
TOOLS_CFLAGS += -DARCH_STRING=\"$(COMPILE_ARCH)\"
|
||||||
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe \
|
BASE_CFLAGS = $(ANDROID_CFLAGS) -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe \
|
||||||
-fno-builtin-cos -fno-builtin-sin -fPIC -DARCH_STRING=\\\"$(ARCH)\\\"
|
-fno-builtin-cos -fno-builtin-sin -fPIC -DARCH_STRING=\\\"$(ARCH)\\\"
|
||||||
CLIENT_CFLAGS += $(SDL_CFLAGS) -DSDL_DISABLE_IMMINTRIN_H -fno-builtin-cos -fno-builtin-sin
|
CLIENT_CFLAGS += $(SDL_CFLAGS) -DSDL_DISABLE_IMMINTRIN_H -fno-builtin-cos -fno-builtin-sin
|
||||||
|
|
||||||
|
@ -1275,7 +1274,7 @@ define DO_REF_STR
|
||||||
$(echo_cmd) "REF_STR $<"
|
$(echo_cmd) "REF_STR $<"
|
||||||
$(Q)rm -f $@
|
$(Q)rm -f $@
|
||||||
$(Q)echo "const char *fallbackShader_$(notdir $(basename $<)) =" >> $@
|
$(Q)echo "const char *fallbackShader_$(notdir $(basename $<)) =" >> $@
|
||||||
$(Q)cat $< | sed -e 's/^/\"/;s/$$/\\n\"/' | tr -d '\r' >> $@
|
$(Q)cat $< | sed -e 's/^\(.*\)$$/\"\1\"/' >> $@
|
||||||
$(Q)echo ";" >> $@
|
$(Q)echo ";" >> $@
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
PLATFORM=android
|
PLATFORM=android
|
||||||
|
ANDROID_SDK_VERSION=android26
|
||||||
|
ANDROID_NDK_VERSION=21.1.6352462
|
||||||
|
## Uncomment for Windows host platform
|
||||||
|
# ANDROID_NDK=C:/Users/<user>/AppData/Local/Android/Sdk/ndk/$(ANDROID_NDK_VERSION)
|
||||||
|
# ANDROID_CC=$(ANDROID_NDK)/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
|
||||||
|
# ANDROID_CFLAGS=--target=aarch64-linux-$(ANDROID_SDK_VERSION)
|
||||||
|
# ANDROID_RANLIB=$(ANDROID_NDK)/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android-ranlib.exe
|
||||||
|
## Uncomment for Linux host platform
|
||||||
|
# ANDROID_NDK=~/Android/Sdk/ndk/$(ANDROID_NDK_VERSION)
|
||||||
|
# ANDROID_CC=$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-$(ANDROID_SDK_VERSION)-clang
|
||||||
|
# ANDROID_RANLIB=$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ranlib
|
||||||
BUILD_CLIENT=1
|
BUILD_CLIENT=1
|
||||||
BUILD_CLIENT_SMP=0
|
BUILD_CLIENT_SMP=0
|
||||||
BUILD_GAME_QVM=0
|
BUILD_GAME_QVM=0
|
||||||
|
|
64
android/run.bat
Normal file
64
android/run.bat
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
cd ..
|
||||||
|
set adb="%AppData%\..\Local\Android\Sdk\platform-tools\adb.exe"
|
||||||
|
set make="%AppData%\..\Local\Android\Sdk\ndk\21.1.6352462\prebuilt\windows-x86_64\bin\make.exe"
|
||||||
|
set JAVA_HOME=C:\Program Files\Android\Android Studio\jre\jre
|
||||||
|
|
||||||
|
%make% -j %NUMBER_OF_PROCESSORS% debug
|
||||||
|
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to build ioq3"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
cd android
|
||||||
|
|
||||||
|
set GRADLE_EXIT_CONSOLE=1
|
||||||
|
call gradlew.bat :app:assembleDebug
|
||||||
|
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to build android project"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
set PACKAGE_NAME=com.sparkie.ioq3quest
|
||||||
|
set ANDROID_STORAGE_LOCATION=/sdcard/Android/data/%PACKAGE_NAME%/files/
|
||||||
|
set APK_LOCATION=.\app\build\outputs\apk\debug\app-debug.apk
|
||||||
|
|
||||||
|
%adb% install -r %APK_LOCATION%
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
%adb% uninstall %PACKAGE_NAME%
|
||||||
|
%adb% install %APK_LOCATION%
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to install apk."
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
%adb% shell mkdir -p %ANDROID_STORAGE_LOCATION%
|
||||||
|
%adb% push --sync "C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena\baseq3" %ANDROID_STORAGE_LOCATION%
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to transfer files."
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
%adb% push --sync ..\code\renderergl2\glsl %ANDROID_STORAGE_LOCATION%/baseq3/
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to transfer shaders."
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
%adb% push --sync autoexec.cfg %ANDROID_STORAGE_LOCATION%/baseq3/
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to transfer autoexec."
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
%adb% logcat -c
|
||||||
|
%adb% shell am start -n %PACKAGE_NAME%/.MainActivity
|
||||||
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
|
echo "Failed to start application."
|
||||||
|
exit 1
|
||||||
|
)
|
||||||
|
%adb% logcat *:S Quake3:V SDL:V DEBUG:V
|
||||||
|
endlocal
|
Loading…
Reference in a new issue