1# Save the local path
2SDL_MIXER_LOCAL_PATH := $(call my-dir)
3
4
5# Enable this if you want to support loading FLAC music with libFLAC
6SUPPORT_FLAC ?= true
7FLAC_LIBRARY_PATH := external/flac-1.3.2
8
9# Enable this if you want to support loading OGG Vorbis music via Tremor
10SUPPORT_OGG ?= true
11OGG_LIBRARY_PATH := external/libogg-1.3.2
12VORBIS_LIBRARY_PATH := external/libvorbisidec-1.2.1
13
14# Enable this if you want to support loading MP3 music via MPG123
15SUPPORT_MP3_MPG123 ?= true
16MPG123_LIBRARY_PATH := external/mpg123-1.25.6
17
18# Enable this if you want to support loading MOD music via modplug
19SUPPORT_MOD_MODPLUG ?= true
20MODPLUG_LIBRARY_PATH := external/libmodplug-0.8.9.0
21
22# Enable this if you want to support TiMidity
23SUPPORT_MID_TIMIDITY ?= true
24TIMIDITY_LIBRARY_PATH := timidity
25
26
27# Build the library
28ifeq ($(SUPPORT_FLAC),true)
29    include $(SDL_MIXER_LOCAL_PATH)/$(FLAC_LIBRARY_PATH)/Android.mk
30endif
31
32# Build the library
33ifeq ($(SUPPORT_OGG),true)
34    include $(SDL_MIXER_LOCAL_PATH)/$(OGG_LIBRARY_PATH)/Android.mk
35    include $(SDL_MIXER_LOCAL_PATH)/$(VORBIS_LIBRARY_PATH)/Android.mk
36endif
37
38# Build the library
39ifeq ($(SUPPORT_MP3_MPG123),true)
40    include $(SDL_MIXER_LOCAL_PATH)/$(MPG123_LIBRARY_PATH)/Android.mk
41endif
42
43# Build the library
44ifeq ($(SUPPORT_MOD_MODPLUG),true)
45    include $(SDL_MIXER_LOCAL_PATH)/$(MODPLUG_LIBRARY_PATH)/Android.mk
46endif
47
48# Build the library
49ifeq ($(SUPPORT_MID_TIMIDITY),true)
50    include $(SDL_MIXER_LOCAL_PATH)/$(TIMIDITY_LIBRARY_PATH)/Android.mk
51endif
52
53
54# Restore local path
55LOCAL_PATH := $(SDL_MIXER_LOCAL_PATH)
56
57include $(CLEAR_VARS)
58
59LOCAL_MODULE := SDL2_mixer
60
61LOCAL_SRC_FILES := $(notdir $(filter-out %/playmus.c %/playwave.c, $(wildcard $(LOCAL_PATH)/*.c))) \
62
63LOCAL_CFLAGS :=
64LOCAL_LDLIBS :=
65LOCAL_STATIC_LIBRARIES :=
66LOCAL_SHARED_LIBRARIES := SDL2
67
68ifeq ($(SUPPORT_FLAC),true)
69    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(FLAC_LIBRARY_PATH)/include
70    LOCAL_CFLAGS += -DMUSIC_FLAC
71    LOCAL_STATIC_LIBRARIES += libFLAC
72endif
73
74ifeq ($(SUPPORT_OGG),true)
75    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(OGG_LIBRARY_PATH)/include
76    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(VORBIS_LIBRARY_PATH)
77    LOCAL_CFLAGS += -DMUSIC_OGG -DOGG_USE_TREMOR -DOGG_HEADER="<ivorbisfile.h>"
78    LOCAL_STATIC_LIBRARIES += ogg vorbisidec
79endif
80
81# This needs to be a shared library to comply with the LGPL license
82ifeq ($(SUPPORT_MP3_MPG123),true)
83    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MPG123_LIBRARY_PATH)
84    LOCAL_CFLAGS += -DMUSIC_MP3_MPG123
85    LOCAL_SHARED_LIBRARIES += mpg123
86endif
87
88ifeq ($(SUPPORT_MOD_MODPLUG),true)
89    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MODPLUG_LIBRARY_PATH)/src
90    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MODPLUG_LIBRARY_PATH)/src/libmodplug
91    LOCAL_CFLAGS += -DMUSIC_MOD_MODPLUG -DMODPLUG_HEADER="<modplug.h>"
92    LOCAL_STATIC_LIBRARIES += modplug
93endif
94
95ifeq ($(SUPPORT_MID_TIMIDITY),true)
96    LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(TIMIDITY_LIBRARY_PATH)
97    LOCAL_CFLAGS += -DMUSIC_MID_TIMIDITY
98    LOCAL_STATIC_LIBRARIES += timidity
99endif
100
101LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)
102
103include $(BUILD_SHARED_LIBRARY)
104