Use FreeAndNil across the board. Even if we are immediately assigning after, probably avoids accidental mistakes. Also free neglected owner tex on shutdown, and delete hog gears using the normal deletion procedure if for any reason they still exist (EndGame call?).
SDL_ANDROID_DIR=${CMAKE_CURRENT_SOURCE_DIR}/SDL-android-project
PPCROSSARM=${FPC_DIR}/ppcrossarm
PPCROSSARM_FLAGS= -Xd -O2 -g -Tlinux -XParm-linux-androideabi- -B -vwnh -n
PPCROSSARM_INCLUDES= \
-FD${ANDROID_NDK_TOOLCHAINDIR}/bin \
-Fu${FPC_DIR}/../rtl/units/arm-linux \
-Fu${CMAKE_CURRENT_SOURCE_DIR} \
-Fi../../hedgewars \
-Fl${ANDROID_NDK}/platforms/android-${ANDROID_NDK_API_LVL}/arch-arm/usr/lib \
-Fl$(SDL_ANDROID_DIR)/libs/armeabi \
-Fl${ANDROID_NDK_TOOLCHAINDIR}/lib/gcc/arm-linux/arm-linux-androideabi/4.4.3/ \
#LINKERFLAGS= -k"--static"
FPC_DEFINES=-dandroid -darm
all: install/debug
build:
-${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_SOURCE_DIR}/out
${ANDROID_NDK}/ndk-build -C $(SDL_ANDROID_DIR) -j 8
$(PPCROSSARM) $(LINKERFLAGS) $(PPCROSSARM_FLAGS) $(PPCROSSARM_INCLUDES) $(FPC_DEFINES) -o${CMAKE_CURRENT_SOURCE_DIR}/out/libhwengine.so ${CMAKE_CURRENT_SOURCE_DIR}/../../hedgewars/hwLibrary.pas
${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/out/libhwengine.so $(SDL_ANDROID_DIR)/libs/armeabi/
debug: build
${ANT} clean -f $(SDL_ANDROID_DIR)/build.xml
${ANT} debug -f $(SDL_ANDROID_DIR)/build.xml
unsigned: build
${ANT} clean -f $(SDL_ANDROID_DIR)/build.xml
${ANT} release -f $(SDL_ANDROID_DIR)/build.xml
install/debug: debug
${ANT} installd -f $(SDL_ANDROID_DIR)/build.xml
install/release: release
${ANT} installd -f $(SDL_ANDROID_DIR)/build.xml
clean:
${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/out
${ANDROID_NDK}/ndk-build -C $(SDL_ANDROID_DIR) -j 8 clean
${ANT} clean -f $(SDL_ANDROID_DIR)/build.xml