Updated build scripts to support NDK r9, updated VCMI
This commit is contained in:
@@ -1136,12 +1136,10 @@ done
|
||||
|
||||
if [ "$MultiABI" = "y" ] ; then
|
||||
MultiABI="armeabi armeabi-v7a"
|
||||
elif [ "$MultiABI" = "x86" ] ; then
|
||||
MultiABI="armeabi x86"
|
||||
elif [ "$MultiABI" = "all" ] ; then
|
||||
MultiABI="all" # Starting form NDK r7
|
||||
else
|
||||
elif [ "$MultiABI" = "n" ] ; then
|
||||
MultiABI="armeabi"
|
||||
else
|
||||
MultiABI="$MultiABI" # Eh okay
|
||||
fi
|
||||
|
||||
LibrariesToLoad="\\\"sdl-$LibSdlVersion\\\""
|
||||
|
||||
@@ -22,8 +22,8 @@ grep "64.bit" "$NDK/RELEASE.TXT" >/dev/null 2>&1 && MYARCH="${MYARCH}_64"
|
||||
|
||||
#echo NDK $NDK
|
||||
GCCPREFIX=arm-linux-androideabi
|
||||
GCCVER=4.6
|
||||
PLATFORMVER=android-14
|
||||
[ -z "$GCCVER" ] && GCCVER=4.6
|
||||
[ -z "$PLATFORMVER" ] && PLATFORMVER=android-14
|
||||
LOCAL_PATH=`dirname $0`
|
||||
if which realpath > /dev/null ; then
|
||||
LOCAL_PATH=`realpath $LOCAL_PATH`
|
||||
@@ -49,13 +49,14 @@ MISSING_INCLUDE=
|
||||
MISSING_LIB=
|
||||
|
||||
CFLAGS="\
|
||||
-fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
|
||||
-fpic -ffunction-sections -funwind-tables -fstack-protector \
|
||||
-no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb \
|
||||
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
||||
-DANDROID -DNDEBUG -O2 -g -finline-functions -Wa,--noexecstack \
|
||||
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -marm -fno-omit-frame-pointer \
|
||||
-DANDROID -DNDEBUG -O2 -g -finline-functions -Wa,--noexecstack -Wformat -Werror=format-security \
|
||||
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include/backward \
|
||||
-isystem$LOCAL_PATH/../sdl-1.2/include \
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-isystem$LOCAL_PATH/../\1/include@g\"` \
|
||||
$MISSING_INCLUDE $CFLAGS"
|
||||
|
||||
@@ -56,6 +56,7 @@ CFLAGS="\
|
||||
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include/backward \
|
||||
-isystem$LOCAL_PATH/../sdl-1.2/include \
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-isystem$LOCAL_PATH/../\1/include@g\"` \
|
||||
$MISSING_INCLUDE $CFLAGS"
|
||||
|
||||
@@ -1,60 +1,215 @@
|
||||
# The application settings for Android libSDL port
|
||||
AppSettingVersion=17
|
||||
|
||||
AppSettingVersion=19
|
||||
|
||||
# libSDL version to use (1.2 or 1.3, specify 1.3 for SDL2)
|
||||
LibSdlVersion=1.2
|
||||
|
||||
# Specify application name (e.x. My Application)
|
||||
AppName="VCMI"
|
||||
|
||||
# Specify reversed site name of application (e.x. com.mysite.myapp)
|
||||
AppFullName=eu.vcmi
|
||||
|
||||
# Specify screen orientation: (v)ertical/(p)ortrait or (h)orizontal/(l)andscape
|
||||
ScreenOrientation=h
|
||||
|
||||
# Do not allow device to sleep when the application is in foreground, set this for video players or apps which use accelerometer
|
||||
InhibitSuspend=n
|
||||
AppDataDownloadUrl="!Data files|vcmi_091.zip"
|
||||
|
||||
# Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...'
|
||||
# If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu
|
||||
# If the URL in in the form ':dir/file.dat:http://URL/' it will be downloaded as binary BLOB to the application dir and not unzipped
|
||||
# If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir -
|
||||
# these files are put inside .apk package by build system
|
||||
# Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS
|
||||
AppDataDownloadUrl="!Data files|vcmi_093.zip"
|
||||
|
||||
# Video color depth - 16 BPP is the fastest and supported for all modes, 24 bpp is supported only
|
||||
# with SwVideoMode=y, SDL_OPENGL mode supports everything. (16)/(24)/(32)
|
||||
VideoDepthBpp=16
|
||||
|
||||
# Enable OpenGL depth buffer (needed only for 3-d applications, small speed decrease) (y) or (n)
|
||||
NeedDepthBuffer=n
|
||||
|
||||
# Enable OpenGL stencil buffer (needed only for 3-d applications, small speed decrease) (y) or (n)
|
||||
NeedStencilBuffer=n
|
||||
|
||||
# Try to use GLES 2.x context - will revert to GLES 1.X if unsupported by device
|
||||
# you need this option only if you're developing 3-d app (y) or (n)
|
||||
NeedGles2=n
|
||||
|
||||
# Application uses software video buffer - you're calling SDL_SetVideoMode() without SDL_HWSURFACE and without SDL_OPENGL,
|
||||
# this will allow small speed optimization. Enable this even when you're using SDL_HWSURFACE. (y) or (n)
|
||||
SwVideoMode=y
|
||||
|
||||
# Application video output will be resized to fit into native device screen (y)/(n)
|
||||
SdlVideoResize=y
|
||||
|
||||
# Application resizing will keep 4:3 aspect ratio, with black bars at sides (y)/(n)
|
||||
SdlVideoResizeKeepAspect=n
|
||||
|
||||
# Application does not call SDL_Flip() or SDL_UpdateRects() appropriately, or draws from non-main thread -
|
||||
# enabling the compatibility mode will force screen update every 100 milliseconds, which is laggy and inefficient (y) or (n)
|
||||
CompatibilityHacks=y
|
||||
|
||||
# Application initializes SDL audio/video inside static constructors (which is bad, you won't be able to run ndk-gdb) (y)/(n)
|
||||
CompatibilityHacksStaticInit=n
|
||||
|
||||
# On-screen Android soft text input emulates hardware keyboard, this will only work with Hackers Keyboard app (y)/(n)
|
||||
CompatibilityHacksTextInputEmulatesHwKeyboard=n
|
||||
|
||||
# Hack for broken devices: prevent audio chopping, by sleeping a bit after pushing each audio chunk (y)/(n)
|
||||
CompatibilityHacksPreventAudioChopping=n
|
||||
|
||||
# Hack for broken apps: application ignores audio buffer size returned by SDL (y)/(n)
|
||||
CompatibilityHacksAppIgnoresAudioBufferSize=n
|
||||
|
||||
# Hack for VCMI: preload additional shared libraries before aplication start
|
||||
CompatibilityHacksAdditionalPreloadedSharedLibraries="vcmi"
|
||||
|
||||
# Hack for Free Heroes 2, which redraws the screen inside SDL_PumpEvents(): slow and compatible SDL event queue -
|
||||
# do not use it with accelerometer/gyroscope, or your app may freeze at random (y)/(n)
|
||||
CompatibilityHacksSlowCompatibleEventQueue=n
|
||||
|
||||
# Save and restore OpenGL state when drawing on-screen keyboard for apps that use SDL_OPENGL
|
||||
CompatibilityHacksTouchscreenKeyboardSaveRestoreOpenGLState=
|
||||
|
||||
# Application uses mouse (y) or (n), this will show mouse emulation dialog to the user
|
||||
AppUsesMouse=y
|
||||
|
||||
# Application needs two-button mouse, will also enable advanced point-and-click features (y) or (n)
|
||||
AppNeedsTwoButtonMouse=y
|
||||
|
||||
# Show SDL mouse cursor, for applications that do not draw cursor at all (y) or (n)
|
||||
ShowMouseCursor=n
|
||||
|
||||
# Force relative (laptop) mouse movement mode, useful when both on-screen keyboard and mouse are needed (y) or (n)
|
||||
ForceRelativeMouseMode=n
|
||||
|
||||
# Application needs arrow keys (y) or (n), will show on-screen dpad/joystick (y) or (n)
|
||||
AppNeedsArrowKeys=n
|
||||
|
||||
# Application needs text input (y) or (n), enables button for text input on screen
|
||||
AppNeedsTextInput=y
|
||||
|
||||
# Application uses joystick (y) or (n), the on-screen DPAD will be used as joystick 0 axes 0-1
|
||||
AppUsesJoystick=n
|
||||
|
||||
# Application uses second on-screen joystick, as SDL joystick 0 axes 2-3 (y)/(n)
|
||||
AppUsesSecondJoystick=n
|
||||
|
||||
# Application uses accelerometer (y) or (n), the accelerometer will be used as joystick 1 axes 0-1 and 5-7
|
||||
AppUsesAccelerometer=n
|
||||
|
||||
# Application uses gyroscope (y) or (n), the gyroscope will be used as joystick 1 axes 2-4
|
||||
AppUsesGyroscope=n
|
||||
|
||||
# Application uses multitouch (y) or (n), multitouch events are passed as SDL_JOYBALLMOTION events for the joystick 0
|
||||
AppUsesMultitouch=n
|
||||
|
||||
# Application records audio (it will use any available source, such a s microphone)
|
||||
# API is defined in file SDL_android.h: int SDL_ANDROID_OpenAudioRecording(SDL_AudioSpec *spec); void SDL_ANDROID_CloseAudioRecording(void);
|
||||
# This option will add additional permission to Android manifest (y)/(n)
|
||||
AppRecordsAudio=n
|
||||
|
||||
# Application implements Android-specific routines to put to background, and will not draw anything to screen
|
||||
# between SDL_ACTIVEEVENT lost / gained notifications - you should check for them
|
||||
# rigth after SDL_Flip(), if (n) then SDL_Flip() will block till app in background (y) or (n)
|
||||
# This option is reported to be buggy, sometimes failing to restore video state
|
||||
NonBlockingSwapBuffers=n
|
||||
|
||||
# Redefine common hardware keys to SDL keysyms
|
||||
# BACK hardware key is available on all devices, MENU is available on pre-ICS devices, other keys may be absent
|
||||
# SEARCH and CALL by default return same keycode as DPAD_CENTER - one of those keys is available on most devices
|
||||
# Use word NO_REMAP if you want to preserve native functionality for certain key (volume keys are 3-rd and 4-th)
|
||||
# Keys: TOUCHSCREEN (works only when AppUsesMouse=n), DPAD_CENTER/SEARCH, VOLUMEUP, VOLUMEDOWN, MENU, BACK, CAMERA
|
||||
RedefinedKeys="LALT RETURN NO_REMAP NO_REMAP E"
|
||||
|
||||
# Number of virtual keyboard keys (currently 6 is maximum)
|
||||
AppTouchscreenKeyboardKeysAmount=0
|
||||
|
||||
# Number of virtual keyboard keys that support autofire (currently 2 is maximum)
|
||||
AppTouchscreenKeyboardKeysAmountAutoFire=0
|
||||
|
||||
# Redefine on-screen keyboard keys to SDL keysyms - 6 keyboard keys + 4 multitouch gestures (zoom in/out and rotate left/right)
|
||||
RedefinedKeysScreenKb="LALT RETURN KP_PLUS KP_MINUS SPACE DELETE KP_PLUS KP_MINUS 1 2"
|
||||
|
||||
# Names for on-screen keyboard keys, such as Fire, Jump, Run etc, separated by spaces, they are used in SDL config menu
|
||||
RedefinedKeysScreenKbNames="LALT RETURN KP_PLUS KP_MINUS SPACE DELETE KP_PLUS KP_MINUS 1 2"
|
||||
|
||||
# How long to show startup menu button, in msec, 0 to disable startup menu
|
||||
StartupMenuButtonTimeout=3000
|
||||
HiddenMenuOptions='KeyboardConfigMainMenu AudioConfig OptionalDownloadConfig'
|
||||
|
||||
# Menu items to hide from startup menu, available menu items:
|
||||
# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout
|
||||
HiddenMenuOptions='SettingsMenuMisc.OptionalDownloadConfig'
|
||||
|
||||
# Menu items to show at startup - this is Java code snippet, leave empty for default
|
||||
# new SettingsMenuMisc.ShowReadme(), (AppUsesMouse \&\& \! ForceRelativeMouseMode \? new SettingsMenuMouse.DisplaySizeConfig(true) : new SettingsMenu.DummyMenu()), new SettingsMenuMisc.OptionalDownloadConfig(true), new SettingsMenuMisc.GyroscopeCalibration()
|
||||
# Available menu items:
|
||||
# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout
|
||||
FirstStartMenuOptions=''
|
||||
MultiABI=n
|
||||
AppMinimumRAM=64
|
||||
AppVersionCode=09100
|
||||
AppVersionName="0.91.00"
|
||||
|
||||
# Enable multi-ABI binary, with hardware FPU support - it will also work on old devices,
|
||||
# but .apk size is 2x bigger (y) / (n) / (x86) / (all)
|
||||
MultiABI=armeabi-v7a
|
||||
|
||||
# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower
|
||||
AppMinimumRAM=128
|
||||
|
||||
# Application version code (integer)
|
||||
AppVersionCode=09300
|
||||
|
||||
# Application user-visible version name (string)
|
||||
AppVersionName="0.93.00"
|
||||
|
||||
# Reset SDL config when updating application to the new version (y) / (n)
|
||||
ResetSdlConfigForThisVersion=n
|
||||
|
||||
# Delete application data files when upgrading (specify file/dir paths separated by spaces)
|
||||
DeleteFilesOnUpgrade="%"
|
||||
|
||||
# Optional shared libraries to compile - removing some of them will save space
|
||||
# MP3 support by libMAD is encumbered by patents and libMAD is GPL-ed
|
||||
# Available libraries: mad (GPL-ed!) sdl_mixer sdl_image sdl_ttf sdl_net sdl_blitpool sdl_gfx sdl_sound intl xml2 lua jpeg png ogg flac tremor vorbis freetype xerces curl theora fluidsynth lzma lzo2 mikmod openal timidity zzip bzip2 yaml-cpp python boost_date_time boost_filesystem boost_iostreams boost_program_options boost_regex boost_signals boost_system boost_thread glu avcodec avdevice avfilter avformat avresample avutil swscale swresample bzip2
|
||||
CompiledLibraries="mad sdl_mixer sdl_image sdl_ttf avutil avcodec avformat swscale boost_program_options boost_filesystem boost_iostreams boost_system boost_thread android"
|
||||
|
||||
# Application uses custom build script AndroidBuild.sh instead of Android.mk (y) or (n)
|
||||
CustomBuildScript=y
|
||||
|
||||
# Aditional CFLAGS for application
|
||||
AppCflags=''
|
||||
|
||||
# Additional LDFLAGS for application
|
||||
AppLdflags=''
|
||||
|
||||
# If application has headers with the same name as system headers, this option tries to fix compiler flags to make it compilable
|
||||
AppOverlapsSystemHeaders=
|
||||
|
||||
# Build only following subdirs (empty will build all dirs, ignored with custom script)
|
||||
AppSubdirsBuild=''
|
||||
|
||||
# Exclude these files from build
|
||||
AppBuildExclude=''
|
||||
|
||||
# Application command line parameters, including app name as 0-th param
|
||||
AppCmdline=''
|
||||
|
||||
# Here you may type readme text, which will be shown during startup. Format is:
|
||||
# Text in English, use \\\\n to separate lines^de:Text in Deutsch^ru:Text in Russian, and so on (that's four backslashes, nice isn't it?)
|
||||
ReadmeText='^You may press "Home" now - the data will be downloaded in background'
|
||||
|
||||
# Screen size is used by Google Play to prevent an app to be installed on devices with smaller screens
|
||||
# Minimum screen size that application supports: (s)mall / (m)edium / (l)arge
|
||||
MinimumScreenSize=s
|
||||
|
||||
# Your AdMob Publisher ID, (n) if you don't want advertisements
|
||||
AdmobPublisherId=n
|
||||
|
||||
# Your AdMob test device ID, to receive a test ad
|
||||
AdmobTestDeviceId=
|
||||
|
||||
# Your AdMob banner size (BANNER/IAB_BANNER/IAB_LEADERBOARD/IAB_MRECT/IAB_WIDE_SKYSCRAPER/SMART_BANNER)
|
||||
AdmobBannerSize=
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
# With default -O3 optimization each G++ process eats 2Gb RAM, so tone optimization down to -O2, and limit make to two jobs
|
||||
make -j2 2>&1 | tee build.log
|
||||
[ -f libapplication.so ] || exit 1
|
||||
mv -f libapplication.so libapplication-armeabi-v7a.so
|
||||
exit 0
|
||||
|
||||
Binary file not shown.
BIN
project/jni/application/vcmi/AndroidData/vcmi_093.zip
Normal file
BIN
project/jni/application/vcmi/AndroidData/vcmi_093.zip
Normal file
Binary file not shown.
@@ -4,5 +4,5 @@
|
||||
if [ -e vcmi ]; then
|
||||
exit 0
|
||||
else
|
||||
svn co https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk vcmi && patch -p0 -d vcmi < vcmi-android.diff || exit 1
|
||||
svn co http://svn.code.sf.net/p/vcmi/code/trunk/ vcmi && patch -p0 -d vcmi < vcmi-android.diff || exit 1
|
||||
fi
|
||||
|
||||
@@ -1,61 +1,56 @@
|
||||
|
||||
$(shell mkdir -p AI Scripting debug/AI debug/Scripting \
|
||||
out/vcmi/lib out/vcmi/lib/Filesystem out/vcmi/lib/Mapping \
|
||||
out/vcmi/lib/RMG out/vcmi/server out/vcmi/AI/StupidAI \
|
||||
out/vcmi/AI/BattleAI out/vcmi/AI/FuzzyLite out/vcmi/AI/VCAI \
|
||||
out/vcmi/AI/EmptyAI out/vcmi/Scripting/ERM out/vcmi/client \
|
||||
out/vcmi/client/BattleInterface out/vcmi/client/UIFramework)
|
||||
$(shell mkdir -p AI debug/AI \
|
||||
out/vcmi/lib out/vcmi/lib/logging out/vcmi/lib/filesystem \
|
||||
out/vcmi/lib/mapping out/vcmi/lib/rmg out/vcmi/lib/minigzip \
|
||||
out/vcmi/server out/vcmi/AI/StupidAI out/vcmi/AI/BattleAI \
|
||||
out/vcmi/AI/VCAI out/vcmi/scripting/erm out/vcmi/client \
|
||||
out/vcmi/client/gui out/vcmi/client/battle)
|
||||
|
||||
LOCAL_PATH=$(shell dirname $0)
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
|
||||
GCC_PREFIX=$(if $(shell which ndk-build | grep 'android-ndk-r8'),arm-linux-androideabi,arm-eabi)
|
||||
GCC_PREFIX=arm-linux-androideabi
|
||||
GCC_VERSION=4.8
|
||||
|
||||
SOURCES_LIB=$(wildcard vcmi/lib/*.cpp vcmi/CConsoleHandler.cpp vcmi/CThreadHelper.cpp)
|
||||
SOURCES_LIB=$(wildcard vcmi/lib/*.cpp vcmi/lib/logging/*.cpp vcmi/lib/minigzip/*.c vcmi/CCallback.cpp)
|
||||
OBJS_LIB=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB))
|
||||
|
||||
SOURCES_LIB_FILESYSTEM:=$(wildcard vcmi/lib/Filesystem/*.cpp)
|
||||
SOURCES_LIB_FILESYSTEM:=$(wildcard vcmi/lib/filesystem/*.cpp)
|
||||
OBJS_LIB_FILESYSTEM:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_FILESYSTEM))
|
||||
|
||||
SOURCES_LIB_MAPPING:=$(wildcard vcmi/lib/Mapping/*.cpp)
|
||||
SOURCES_LIB_MAPPING:=$(wildcard vcmi/lib/mapping/*.cpp)
|
||||
OBJS_LIB_MAPPING:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_MAPPING))
|
||||
|
||||
SOURCES_LIB_RMG:=$(wildcard vcmi/lib/RMG/*.cpp)
|
||||
SOURCES_LIB_RMG:=$(wildcard vcmi/lib/rmg/*.cpp)
|
||||
OBJS_LIB_RMG:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_RMG))
|
||||
|
||||
SOURCES_SERVER:=$(wildcard vcmi/server/*.cpp)
|
||||
OBJS_SERVER:=$(patsubst %.cpp, out/%.o, $(SOURCES_SERVER))
|
||||
|
||||
SOURCES_CLIENT:=$(wildcard vcmi/client/*.cpp vcmi/client/BattleInterface/*.cpp vcmi/client/UIFramework/*.cpp vcmi/*.cpp)
|
||||
SOURCES_CLIENT:=$(wildcard vcmi/client/*.cpp vcmi/client/gui/*.cpp vcmi/client/battle/*.cpp vcmi/*.cpp)
|
||||
OBJS_CLIENT:=$(patsubst %.cpp, out/%.o, $(SOURCES_CLIENT))
|
||||
|
||||
SOURCES_BATTLEAI:=$(wildcard vcmi/AI/BattleAI/*.cpp)
|
||||
OBJS_BATTLEAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_BATTLEAI))
|
||||
|
||||
SOURCES_EMPTYAI:=$(wildcard vcmi/AI/EmptyAI/*.cpp)
|
||||
OBJS_EMPTYAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_EMPTYAI))
|
||||
|
||||
SOURCES_FUZZYLITE:=$(wildcard vcmi/AI/FuzzyLite/*.cpp)
|
||||
OBJS_FUZZYLITE:=$(patsubst %.cpp, out/%.o, $(SOURCES_FUZZYLITE))
|
||||
|
||||
SOURCES_STUPIDAI:=$(wildcard vcmi/AI/StupidAI/*.cpp)
|
||||
OBJS_STUPIDAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_STUPIDAI))
|
||||
|
||||
SOURCES_VCAI:=$(wildcard vcmi/AI/VCAI/*.cpp)
|
||||
OBJS_VCAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_VCAI))
|
||||
|
||||
SOURCES_ERM:=$(wildcard vcmi/Scripting/ERM/*.cpp)
|
||||
SOURCES_ERM:=$(wildcard vcmi/scripting/erm/*.cpp)
|
||||
OBJS_ERM:=$(patsubst %.cpp, out/%.o, $(SOURCES_ERM))
|
||||
|
||||
all: AndroidData/binaries.zip libapplication.so
|
||||
|
||||
AndroidData/binaries.zip: vcmiserver libvcmi.so Scripting/libvcmiERM.so AI/libBattleAI.so AI/libEmptyAI.so AI/libStupidAI.so AI/libVCAI.so
|
||||
AndroidData/binaries.zip: vcmiserver libvcmi.so AI/libBattleAI.so AI/libStupidAI.so AI/libVCAI.so # Scripting/libvcmiERM.so AI/libEmptyAI.so
|
||||
rm -f $@
|
||||
zip -r $@ $^
|
||||
|
||||
# With default -O3 optimization each G++ process eats 2Gb RAM, so tone optimization down to -O2, and limit make to two jobs
|
||||
$(OBJS_SERVER) $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB_RMG) $(OBJS_BATTLEAI) $(OBJS_EMPTYAI) $(OBJS_FUZZYLITE) $(OBJS_VCAI) $(OBJS_CLIENT) $(OBJS_ERM): out/%.o: %.cpp
|
||||
../setEnvironment.sh sh -c \
|
||||
env GCCVER=$(GCC_VERSION) ../setEnvironment-armeabi-v7a.sh sh -c \
|
||||
"$(GCC_PREFIX)-g++ \
|
||||
-c \$$CXXFLAGS -O2 -Ivcmi -std=c++11 -Ivcmi/lib \
|
||||
-DM_DATA_DIR=\\\".\\\" \
|
||||
@@ -66,7 +61,7 @@ $(OBJS_SERVER) $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB
|
||||
# -Werror=strict-aliasing -Werror=cast-align -Werror=pointer-arith -Werror=address
|
||||
|
||||
vcmiserver: $(OBJS_SERVER) -lvcmi
|
||||
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment.sh sh -c \
|
||||
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 GCCVER=$(GCC_VERSION) ../setEnvironment-armeabi-v7a.sh sh -c \
|
||||
"$(GCC_PREFIX)-g++ \
|
||||
$^ -o $@ \
|
||||
\$$LDFLAGS -L. -L../../boost/lib/arm-linux-androideabi-4.6 \
|
||||
@@ -75,7 +70,7 @@ vcmiserver: $(OBJS_SERVER) -lvcmi
|
||||
$(GCC_PREFIX)-strip $@
|
||||
|
||||
LINK_LIB= \
|
||||
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment.sh sh -c \
|
||||
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 GCCVER=$(GCC_VERSION) ../setEnvironment-armeabi-v7a.sh sh -c \
|
||||
"$(GCC_PREFIX)-g++ \
|
||||
$^ -o $@ \
|
||||
-shared \$$LDFLAGS -L. -L../../boost/lib/arm-linux-androideabi-4.6 \
|
||||
@@ -105,7 +100,7 @@ libvcmi.so: $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB_RM
|
||||
$(LINK_LIB)
|
||||
|
||||
libapplication.so: $(OBJS_CLIENT) libvcmi.so
|
||||
env ../setEnvironment.sh sh -c \
|
||||
env GCCVER=$(GCC_VERSION) ../setEnvironment-armeabi-v7a.sh sh -c \
|
||||
"$(GCC_PREFIX)-g++ $^ -o $@ \
|
||||
\$$LDFLAGS -L. -L../../boost/lib/arm-linux-androideabi-4.6 -lboost_program_options -lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread -lgnustl_static"
|
||||
|
||||
|
||||
@@ -1,19 +1,6 @@
|
||||
Index: lib/VCMIDirs.h
|
||||
===================================================================
|
||||
--- lib/VCMIDirs.h (revision 3221)
|
||||
+++ lib/VCMIDirs.h (working copy)
|
||||
@@ -29,7 +29,7 @@
|
||||
#else
|
||||
try {
|
||||
#ifdef ANDROID
|
||||
- UserPath = DATA_DIR;
|
||||
+ UserPath = GameConstants::DATA_DIR;
|
||||
#elif defined(__APPLE__)
|
||||
// This is Cocoa code that should be normally used to get path to Application Support folder but can't use it here for now...
|
||||
// NSArray* urls = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask];
|
||||
Index: lib/vcmi_endian.h
|
||||
===================================================================
|
||||
--- lib/vcmi_endian.h (revision 3221)
|
||||
--- lib/vcmi_endian.h (revision 3490)
|
||||
+++ lib/vcmi_endian.h (working copy)
|
||||
@@ -19,7 +19,7 @@
|
||||
* memory. On big endian machines, the value will be byteswapped.
|
||||
@@ -26,12 +13,12 @@ Index: lib/vcmi_endian.h
|
||||
struct unaligned_Uint16 { ui16 val __attribute__(( packed )); };
|
||||
Index: client/CMT.cpp
|
||||
===================================================================
|
||||
--- client/CMT.cpp (revision 3221)
|
||||
--- client/CMT.cpp (revision 3490)
|
||||
+++ client/CMT.cpp (working copy)
|
||||
@@ -177,7 +177,7 @@
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
#ifdef _WIN32
|
||||
int _tmain(int argc, _TCHAR* argv[])
|
||||
int wmain(int argc, wchar_t* argv[])
|
||||
-#elif defined(__APPLE__)
|
||||
+#elif defined(__APPLE__) || defined(ANDROID)
|
||||
int SDL_main(int argc, char *argv[])
|
||||
|
||||
Reference in New Issue
Block a user