--- Android.mk 2013-10-08 17:46:42.381361960 +0200 +++ Android.mk 2013-10-08 15:37:33.539950000 +0200 @@ -1,46 +1,64 @@ LOCAL_PATH := $(call my-dir) -########################### -# -# SDL shared library -# -########################### - include $(CLEAR_VARS) -LOCAL_MODULE := SDL2 +LOCAL_MODULE := $(lastword $(subst /, ,$(LOCAL_PATH))) + +ifndef SDL_JAVA_PACKAGE_PATH +$(error Please define SDL_JAVA_PACKAGE_PATH to the path of your Java package with dots replaced with underscores, for example "com_example_SanAngeles") +endif LOCAL_C_INCLUDES := $(LOCAL_PATH)/include +LOCAL_CFLAGS := -O3 -D__ANDROID__ -DANDROID \ + -DSDL_JAVA_PACKAGE_PATH=$(SDL_JAVA_PACKAGE_PATH) \ + -DSDL_CURDIR_PATH=\"$(SDL_CURDIR_PATH)\" \ + -DSDL_TRACKBALL_KEYUP_DELAY=$(SDL_TRACKBALL_KEYUP_DELAY) \ + -DSDL_VIDEO_RENDER_RESIZE_KEEP_ASPECT=$(SDL_VIDEO_RENDER_RESIZE_KEEP_ASPECT) \ + -DSDL_VIDEO_RENDER_RESIZE=$(SDL_VIDEO_RENDER_RESIZE) \ + $(SDL_ADDITIONAL_CFLAGS) + + +SDL_SRCS := \ + src/*.c \ + src/audio/*.c \ + src/cdrom/*.c \ + src/cpuinfo/*.c \ + src/events/*.c \ + src/file/*.c \ + src/haptic/*.c \ + src/joystick/*.c \ + src/stdlib/*.c \ + src/thread/*.c \ + src/timer/*.c \ + src/video/*.c \ + src/main/*.c \ + src/power/*.c \ + src/thread/pthread/*.c \ + src/timer/unix/*.c \ + src/audio/android/*.c \ + src/cdrom/dummy/*.c \ + src/video/android/*.c \ + src/haptic/dummy/*.c \ + src/loadso/dlopen/*.c \ + src/atomic/*.c \ + src/render/*.c \ + src/render/opengles/*.c \ + src/render/software/*.c + + +# TODO: use libcutils for atomic operations, but it's not included in NDK + +# src/atomic/linux/*.c \ +# src/power/linux/*.c \ +# src/joystick/android/*.c \ +# src/haptic/android/*.c \ +# src/libm/*.c \ + +LOCAL_CPP_EXTENSION := .cpp -LOCAL_SRC_FILES := \ - $(subst $(LOCAL_PATH)/,, \ - $(wildcard $(LOCAL_PATH)/src/*.c) \ - $(wildcard $(LOCAL_PATH)/src/audio/*.c) \ - $(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \ - $(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \ - $(LOCAL_PATH)/src/atomic/SDL_atomic.c \ - $(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \ - $(wildcard $(LOCAL_PATH)/src/core/android/*.cpp) \ - $(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \ - $(wildcard $(LOCAL_PATH)/src/events/*.c) \ - $(wildcard $(LOCAL_PATH)/src/file/*.c) \ - $(wildcard $(LOCAL_PATH)/src/haptic/*.c) \ - $(wildcard $(LOCAL_PATH)/src/haptic/dummy/*.c) \ - $(wildcard $(LOCAL_PATH)/src/joystick/*.c) \ - $(wildcard $(LOCAL_PATH)/src/joystick/android/*.c) \ - $(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \ - $(wildcard $(LOCAL_PATH)/src/power/*.c) \ - $(wildcard $(LOCAL_PATH)/src/render/*.c) \ - $(wildcard $(LOCAL_PATH)/src/render/*/*.c) \ - $(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \ - $(wildcard $(LOCAL_PATH)/src/thread/*.c) \ - $(wildcard $(LOCAL_PATH)/src/thread/pthread/*.c) \ - $(wildcard $(LOCAL_PATH)/src/timer/*.c) \ - $(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \ - $(wildcard $(LOCAL_PATH)/src/video/*.c) \ - $(wildcard $(LOCAL_PATH)/src/video/android/*.c)) +# Note this "simple" makefile var substitution, you can find even more complex examples in different Android projects +LOCAL_SRC_FILES := $(foreach F, $(SDL_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog +LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog include $(BUILD_SHARED_LIBRARY)