1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
SDL_IMAGE_LOCAL_PATH := $(call my-dir)
# Enable this if you want PNG and JPG support with minimal dependencies
USE_STBIMAGE ?= true
# The additional formats below require downloading third party dependencies,
# using the external/download.sh script.
# Enable this if you want to support loading AVIF images
# The library path should be a relative path to this directory.
SUPPORT_AVIF ?= false
AVIF_LIBRARY_PATH := external/libavif
DAV1D_LIBRARY_PATH := external/dav1d
# Enable this if you want to support loading JPEG images using libjpeg
# The library path should be a relative path to this directory.
SUPPORT_JPG ?= false
SUPPORT_SAVE_JPG ?= true
JPG_LIBRARY_PATH := external/jpeg
# Enable this if you want to support loading JPEG-XL images
# The library path should be a relative path to this directory.
SUPPORT_JXL ?= false
JXL_LIBRARY_PATH := external/libjxl
# Enable this if you want to support loading PNG images using libpng
# The library path should be a relative path to this directory.
SUPPORT_PNG ?= false
SUPPORT_SAVE_PNG ?= true
PNG_LIBRARY_PATH := external/libpng
# Enable this if you want to support loading WebP images
# The library path should be a relative path to this directory.
SUPPORT_WEBP ?= false
WEBP_LIBRARY_PATH := external/libwebp
# Build the library
ifeq ($(SUPPORT_AVIF),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/Android.mk
include $(SDL_IMAGE_LOCAL_PATH)/$(DAV1D_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_JPG),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(JPG_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_JXL),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(JXL_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_PNG),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(PNG_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_WEBP),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(WEBP_LIBRARY_PATH)/Android.mk
endif
# Restore local path
LOCAL_PATH := $(SDL_IMAGE_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := SDL2_image
LOCAL_SRC_FILES := \
src/IMG.c \
src/IMG_avif.c \
src/IMG_bmp.c \
src/IMG_gif.c \
src/IMG_jpg.c \
src/IMG_jxl.c \
src/IMG_lbm.c \
src/IMG_pcx.c \
src/IMG_png.c \
src/IMG_pnm.c \
src/IMG_qoi.c \
src/IMG_stb.c \
src/IMG_svg.c \
src/IMG_tga.c \
src/IMG_tif.c \
src/IMG_webp.c \
src/IMG_WIC.c \
src/IMG_xcf.c \
src/IMG_xpm.c.arm \
src/IMG_xv.c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_CFLAGS := -DLOAD_BMP -DLOAD_GIF -DLOAD_LBM -DLOAD_PCX -DLOAD_PNM \
-DLOAD_SVG -DLOAD_TGA -DLOAD_XCF -DLOAD_XPM -DLOAD_XV \
-DLOAD_QOI
LOCAL_LDLIBS :=
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES := SDL2
ifeq ($(USE_STBIMAGE),true)
LOCAL_CFLAGS += -DLOAD_JPG -DLOAD_PNG -DUSE_STBIMAGE
endif
ifeq ($(SUPPORT_AVIF),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/include
LOCAL_CFLAGS += -DLOAD_AVIF
LOCAL_STATIC_LIBRARIES += avif
LOCAL_WHOLE_STATIC_LIBRARIES += dav1d dav1d-8bit dav1d-16bit
endif
ifeq ($(SUPPORT_JPG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JPG_LIBRARY_PATH) \
$(LOCAL_PATH)/$(JPG_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_JPG
LOCAL_STATIC_LIBRARIES += jpeg
ifeq ($(SUPPORT_SAVE_JPG),true)
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_JPG=1
else
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_JPG=0
endif
endif
ifeq ($(SUPPORT_JXL),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JXL_LIBRARY_PATH)/lib/include \
$(LOCAL_PATH)/$(JXL_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_JXL
LOCAL_STATIC_LIBRARIES += jxl
endif
ifeq ($(SUPPORT_PNG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(PNG_LIBRARY_PATH) \
$(LOCAL_PATH)/$(PNG_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_PNG
LOCAL_STATIC_LIBRARIES += png
LOCAL_LDLIBS += -lz
ifeq ($(SUPPORT_SAVE_PNG),true)
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_PNG=1
else
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_PNG=0
endif
endif
ifeq ($(SUPPORT_WEBP),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(WEBP_LIBRARY_PATH)/src
LOCAL_CFLAGS += -DLOAD_WEBP
LOCAL_STATIC_LIBRARIES += webpdemux
LOCAL_STATIC_LIBRARIES += webp
endif
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
###########################
#
# SDL2_image static library
#
###########################
LOCAL_MODULE := SDL2_image_static
LOCAL_MODULE_FILENAME := libSDL2_image
LOCAL_LDLIBS :=
LOCAL_EXPORT_LDLIBS :=
include $(BUILD_STATIC_LIBRARY)
|