Edit

kc3-lang/SDL/Android.mk

Branch :

  • Show log

    Commit

  • Author : Sam Lantinga
    Date : 2014-06-15 13:01:10
    Hash : b9d1f9ed
    Message : Fixed Android error on static lib build, if relative NDK_MODULE_PATH used Stefan P?schel if the variable NDK_MODULE_PATH is set to a relative path (like "../"), compiling of a static SDL lib fails with an error similar to this: make: *** No rule to make target `..//android_libs/SDL/..//android_libs/SDL/src/main/android/SDL_android_main.c', needed by `obj/local/armeabi/objs/SDL2_static/__//android_libs/SDL/src/main/android/SDL_android_main.o'. Stop. Regarding the shared lib, this is already prevented by a "subst" command in the /Android.mk, which removes all occurences of "$(LOCAL_PATH)/". The attached patch does the same with the additional "SDL_android_main.c", which is included for build the static SDL lib.

  • Android.mk
  • LOCAL_PATH := $(call my-dir)
    
    ###########################
    #
    # SDL shared library
    #
    ###########################
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := SDL2
    
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
    
    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
    
    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/*.c) \
    	$(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \
    	$(wildcard $(LOCAL_PATH)/src/dynapi/*.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/power/android/*.c) \
    	$(wildcard $(LOCAL_PATH)/src/filesystem/dummy/*.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) \
        $(wildcard $(LOCAL_PATH)/src/test/*.c))
    
    LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
    LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
    
    include $(BUILD_SHARED_LIBRARY)
    
    ###########################
    #
    # SDL static library
    #
    ###########################
    
    LOCAL_MODULE := SDL2_static
    
    LOCAL_MODULE_FILENAME := libSDL2
    
    LOCAL_SRC_FILES += $(subst $(LOCAL_PATH)/,,$(LOCAL_PATH)/src/main/android/SDL_android_main.c)
    
    LOCAL_LDLIBS := 
    LOCAL_EXPORT_LDLIBS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
    
    include $(BUILD_STATIC_LIBRARY)