Android.mk revision 39310fca2e30101fa6e5168da443581cc60c20bf
1262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_PATH:= $(call my-dir)
2262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
3262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(CLEAR_VARS)
4262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
5262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_SRC_FILES :=     \
6262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        ut/OpenSLESUT.c   \
7262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        ut/slesutResult.c
8262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
9262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_C_INCLUDES:= \
10262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        system/media/wilhelm/include
11262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
12262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -fvisibility=hidden
13262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
14262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_MODULE := libOpenSLESUT
15262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
16262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(BUILD_STATIC_LIBRARY)
17262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
18262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(CLEAR_VARS)
19262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
20262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -Wno-override-init
21262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten# -Wno-missing-field-initializers
22262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten# optional, see comments in MPH_to.c: -DUSE_DESIGNATED_INITIALIZERS -S
23262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -DUSE_DESIGNATED_INITIALIZERS
24262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
25262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_SRC_FILES:=                     \
26262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        MPH_to.c
27262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
28262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_MODULE:= libopensles_helper
29262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
30262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(BUILD_STATIC_LIBRARY)
31262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
32262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(CLEAR_VARS)
33262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
34262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten#LOCAL_CFLAGS += -DSL_API= -DXA_API=SLAPIENTRY -DXAAPIENTRY=
35262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten#LOCAL_CFLAGS += -DUSE_PROFILES=0 -UUSE_TRACE -UUSE_DEBUG -DNDEBUG -DUSE_LOG=SLAndroidLogLevel_Info
36262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -DUSE_PROFILES=0 -DUSE_TRACE -DUSE_DEBUG -UNDEBUG \
37262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten# select the level of log messages
38262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten#   -DUSE_LOG=SLAndroidLogLevel_Verbose
39262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten   -DUSE_LOG=SLAndroidLogLevel_Info
40262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten# trace all the OpenSL ES method enter/exit in the logs
41262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten#LOCAL_CFLAGS += -DSL_TRACE_DEFAULT=SL_TRACE_ALL
42262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
43262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten# Reduce size of .so and hide internal global symbols
44262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -fvisibility=hidden -DSL_API='__attribute__((visibility("default")))' \
45262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        -DXA_API='__attribute__((visibility("default")))'
46262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
47262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_SRC_FILES:=                     \
48262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        OpenSLES_IID.c                \
49262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        classes.c                     \
50262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        data.c                        \
51262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        devices.c                     \
52262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        entry.c                       \
53262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        trace.c                       \
54262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        locks.c                       \
55262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        sles.c                        \
56262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        sllog.c                       \
57262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        ThreadPool.c                  \
58b2aeb0f1009555181dabb944fe05901cb6e6f632Jean-Michel Trivi        android/AudioPlayer_to_android.cpp    \
59b2aeb0f1009555181dabb944fe05901cb6e6f632Jean-Michel Trivi        android/AudioRecorder_to_android.cpp  \
60b2aeb0f1009555181dabb944fe05901cb6e6f632Jean-Michel Trivi        android/MediaPlayer_to_android.cpp    \
61b2aeb0f1009555181dabb944fe05901cb6e6f632Jean-Michel Trivi        android/OutputMix_to_android.cpp      \
6213837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        android/android_AudioSfDecoder.cpp    \
6313837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        android/android_AudioToCbRenderer.cpp \
6468d56b8ebaf60184a3aef988e3d2b09ed8b88c05Jean-Michel Trivi        android/android_GenericMediaPlayer.cpp\
6513837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        android/android_GenericPlayer.cpp     \
66262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        android/android_LocAVPlayer.cpp       \
67262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        android/android_StreamPlayer.cpp      \
68262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        android/android_SfPlayer.cpp          \
69262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        android/android_Effect.cpp            \
70262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        autogen/IID_to_MPH.c                  \
71262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/C3DGroup.c                    \
72262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/CAudioPlayer.c                \
73262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/CAudioRecorder.c              \
74262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/CEngine.c                     \
75262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/COutputMix.c                  \
76262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        objects/CMediaPlayer.c                \
77262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAndroidBufferQueue.c         \
78262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAndroidConfiguration.c       \
79262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAndroidEffect.cpp            \
80262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAndroidEffectCapabilities.c  \
81262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAndroidEffectSend.c          \
82262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IBassBoost.c                  \
83262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IBufferQueue.c                \
84262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IDynamicInterfaceManagement.c \
85262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IEffectSend.c                 \
86262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IEngine.c                     \
87262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IEngineCapabilities.c         \
88262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IEnvironmentalReverb.c        \
89262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IEqualizer.c                  \
90262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMuteSolo.c                   \
91262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IObject.c                     \
92262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IOutputMix.c                  \
93262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IPlay.c                       \
94262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IPlaybackRate.c               \
95262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IPrefetchStatus.c             \
96262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IPresetReverb.c               \
97262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IRecord.c                     \
98262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/ISeek.c                       \
992eac6c23b7bd8985e5bc842b9dec9fa3980dd100Glenn Kasten        itf/IStreamInformation.cpp        \
100262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IVirtualizer.c                \
101262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IVolume.c
102262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
103262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenEXCLUDE_SRC :=                            \
104262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        sync.c                            \
105262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DCommit.c                   \
106262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DDoppler.c                  \
107262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DGrouping.c                 \
108262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DLocation.c                 \
109262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DMacroscopic.c              \
110262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/I3DSource.c                   \
111262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAudioDecoderCapabilities.c   \
112262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAudioEncoder.c               \
113262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAudioEncoderCapabilities.c   \
114262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IAudioIODeviceCapabilities.c  \
115262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IDeviceVolume.c               \
116262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IDynamicSource.c              \
117262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/ILEDArray.c                   \
118262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMIDIMessage.c                \
119262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMIDIMuteSolo.c               \
120262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMIDITempo.c                  \
121262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMIDITime.c                   \
122262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMetadataExtraction.c         \
123262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IMetadataTraversal.c          \
124262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IPitch.c                      \
125262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IRatePitch.c                  \
126262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IThreadSync.c                 \
127262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IVibra.c                      \
128262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        itf/IVisualization.c
129262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
130262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_C_INCLUDES:=                                                  \
131262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        system/media/wilhelm/include                                \
132262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        frameworks/base/media/libstagefright                        \
133262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        frameworks/base/media/libstagefright/include                \
134262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        frameworks/base/include/media/stagefright/openmax
135262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
136262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_CFLAGS += -x c++ -Wno-multichar -Wno-invalid-offsetof
137262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
138262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_STATIC_LIBRARIES += \
139262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libopensles_helper        \
140262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libOpenSLESUT
141262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
142262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_SHARED_LIBRARIES :=         \
143262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libutils                  \
144262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libmedia                  \
145262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libbinder                 \
146262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libstagefright            \
147262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        libstagefright_foundation \
14839310fca2e30101fa6e5168da443581cc60c20bfGlenn Kasten        libcutils                 \
14939310fca2e30101fa6e5168da443581cc60c20bfGlenn Kasten        libgui
150262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
151262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenifeq ($(TARGET_OS)-$(TARGET_SIMULATOR),linux-true)
152262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_LDLIBS += -lpthread -ldl
153262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_SHARED_LIBRARIES += libdvm
154262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_CPPFLAGS += -DANDROID_SIMULATOR
155262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenendif
156262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
157262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenifneq ($(TARGET_SIMULATOR),true)
158262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_SHARED_LIBRARIES += libdl
159262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenelse
160262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_CFLAGS += -DTARGET_SIMULATOR
161262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenendif
162262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
163262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenifeq ($(TARGET_OS)-$(TARGET_SIMULATOR),linux-true)
164262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_LDLIBS += -lpthread
165262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenendif
166262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
167262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_PRELINK_MODULE:= false
168262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
169262059f71a68edc5e510427c63f5f1623d3672a8Glenn KastenLOCAL_MODULE:= libOpenSLES
170262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
171262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenifeq ($(TARGET_BUILD_VARIANT),userdebug)
172262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten        LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
173262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kastenendif
174262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
175262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(BUILD_SHARED_LIBRARY)
176262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasten
17764e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten# Make /system/lib/libOpenMAXAL.so a symlink to /system/lib/libOpenSLES.so
17864e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten# based on system/core/toolbox as there is no standard macro for this yet.
17964e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn KastenSYMLINKS := $(addprefix $(TARGET_OUT)/lib/,libOpenMAXAL.so)
18064e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten$(SYMLINKS) : $(TARGET_OUT)/lib/libOpenSLES.so $(LOCAL_PATH)/Android.mk
18164e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten	@echo symlink $< $@
18264e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten	@rm -f $@
18364e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten	$(hide) ln -sf $(notdir $<) $@
18464e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn KastenALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
18564e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn KastenALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
18664e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
18764e0e9fcadaa738d7145c07c20c67d123e4e7cdaGlenn Kasten
188262059f71a68edc5e510427c63f5f1623d3672a8Glenn Kasteninclude $(call all-makefiles-under,$(LOCAL_PATH))
189