1LOCAL_PATH:= $(call my-dir)
2
3include $(CLEAR_VARS)
4
5LOCAL_SRC_FILES :=     \
6        assert.cpp        \
7        ut/OpenSLESUT.c   \
8        ut/slesutResult.c
9
10LOCAL_C_INCLUDES:= $(LOCAL_PATH)/../include
11
12LOCAL_CFLAGS += -fvisibility=hidden -UNDEBUG
13LOCAL_CFLAGS += -Wall -Werror
14
15LOCAL_MODULE := libOpenSLESUT
16
17include $(BUILD_STATIC_LIBRARY)
18
19include $(CLEAR_VARS)
20
21LOCAL_C_INCLUDES:= $(LOCAL_PATH)/../include
22
23LOCAL_CFLAGS += -Wno-initializer-overrides
24# -Wno-missing-field-initializers
25# optional, see comments in MPH_to.c: -DUSE_DESIGNATED_INITIALIZERS -S
26# and also see ../tools/mphgen/Makefile
27LOCAL_CFLAGS += -DUSE_DESIGNATED_INITIALIZERS -UNDEBUG
28LOCAL_CFLAGS += -Wall -Werror
29
30LOCAL_SRC_FILES:=                     \
31        assert.cpp \
32        MPH_to.c \
33        handlers.c
34
35LOCAL_MODULE:= libopensles_helper
36
37include $(BUILD_STATIC_LIBRARY)
38
39include $(CLEAR_VARS)
40
41# do not claim support for any OpenSL ES or OpenMAX AL profiles
42LOCAL_CFLAGS += -DUSE_PROFILES=0
43
44# enable API logging; details are set separately by SL_TRACE_DEFAULT below
45LOCAL_CFLAGS += -DUSE_TRACE
46# or -UUSE_TRACE to disable API logging
47
48# see Configuration.h for USE_DEBUG
49
50# enable assert() to do runtime checking
51LOCAL_CFLAGS += -UNDEBUG
52# or -DNDEBUG for no runtime checking
53
54# select the level of log messages
55LOCAL_CFLAGS += -DUSE_LOG=SLAndroidLogLevel_Info
56# or -DUSE_LOG=SLAndroidLogLevel_Verbose for verbose logging
57
58# log all API entries and exits (also requires Debug or Verbose log level)
59# LOCAL_CFLAGS += -DSL_TRACE_DEFAULT=SL_TRACE_ALL
60# (otherwise a warning log on error results only)
61
62# API level
63LOCAL_CFLAGS += -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
64
65# Reduce size of .so and hide internal global symbols
66LOCAL_CFLAGS += -fvisibility=hidden -DLI_API='__attribute__((visibility("default")))'
67
68LOCAL_SRC_FILES:=                     \
69        OpenSLES_IID.cpp              \
70        assert.cpp                    \
71        classes.cpp                   \
72        data.cpp                      \
73        devices.cpp                   \
74        entry.cpp                     \
75        handler_bodies.cpp            \
76        trace.cpp                     \
77        locks.cpp                     \
78        sles.cpp                      \
79        sl_iid.cpp                    \
80        sllog.cpp                     \
81        ThreadPool.cpp                \
82        android/AudioPlayer_to_android.cpp    \
83        android/AudioRecorder_to_android.cpp  \
84        android/MediaPlayer_to_android.cpp    \
85        android/OutputMix_to_android.cpp      \
86        android/VideoCodec_to_android.cpp     \
87        android/BufferQueueSource.cpp         \
88        android/CallbackProtector.cpp         \
89        android/AacBqToPcmCbRenderer.cpp      \
90        android/android_AudioSfDecoder.cpp    \
91        android/android_AudioToCbRenderer.cpp \
92        android/android_GenericMediaPlayer.cpp\
93        android/android_GenericPlayer.cpp     \
94        android/android_LocAVPlayer.cpp       \
95        android/android_StreamPlayer.cpp      \
96        android/android_Effect.cpp            \
97        android/util/AacAdtsExtractor.cpp     \
98        android/channels.cpp                  \
99        autogen/IID_to_MPH.cpp                \
100        objects/C3DGroup.cpp                  \
101        objects/CAudioPlayer.cpp              \
102        objects/CAudioRecorder.cpp            \
103        objects/CEngine.cpp                   \
104        objects/COutputMix.cpp                \
105        objects/CMediaPlayer.cpp              \
106        itf/IAndroidBufferQueue.cpp       \
107        itf/IAndroidConfiguration.cpp     \
108        itf/IAndroidEffect.cpp            \
109        itf/IAndroidEffectCapabilities.cpp\
110        itf/IAndroidEffectSend.cpp        \
111        itf/IAcousticEchoCancellation.cpp \
112        itf/IAutomaticGainControl.cpp     \
113        itf/IBassBoost.cpp                \
114        itf/IBufferQueue.cpp              \
115        itf/IDynamicInterfaceManagement.cpp\
116        itf/IEffectSend.cpp               \
117        itf/IEngine.cpp                   \
118        itf/IEngineCapabilities.cpp       \
119        itf/IEnvironmentalReverb.cpp      \
120        itf/IEqualizer.cpp                \
121        itf/IMetadataExtraction.cpp       \
122        itf/INoiseSuppression.cpp         \
123        itf/IMuteSolo.cpp                 \
124        itf/IObject.cpp                   \
125        itf/IOutputMix.cpp                \
126        itf/IPlay.cpp                     \
127        itf/IPlaybackRate.cpp             \
128        itf/IPrefetchStatus.cpp           \
129        itf/IPresetReverb.cpp             \
130        itf/IRecord.cpp                   \
131        itf/ISeek.cpp                     \
132        itf/IStreamInformation.cpp        \
133        itf/IVideoDecoderCapabilities.cpp \
134        itf/IVirtualizer.cpp              \
135        itf/IVolume.cpp
136
137EXCLUDE_SRC :=                            \
138        sync.cpp                          \
139        itf/I3DCommit.cpp                 \
140        itf/I3DDoppler.cpp                \
141        itf/I3DGrouping.cpp               \
142        itf/I3DLocation.cpp               \
143        itf/I3DMacroscopic.cpp            \
144        itf/I3DSource.cpp                 \
145        itf/IAudioDecoderCapabilities.cpp \
146        itf/IAudioEncoder.cpp             \
147        itf/IAudioEncoderCapabilities.cpp \
148        itf/IAudioIODeviceCapabilities.cpp\
149        itf/IDeviceVolume.cpp             \
150        itf/IDynamicSource.cpp            \
151        itf/ILEDArray.cpp                 \
152        itf/IMIDIMessage.cpp              \
153        itf/IMIDIMuteSolo.cpp             \
154        itf/IMIDITempo.cpp                \
155        itf/IMIDITime.cpp                 \
156        itf/IMetadataTraversal.cpp        \
157        itf/IPitch.cpp                    \
158        itf/IRatePitch.cpp                \
159        itf/IThreadSync.cpp               \
160        itf/IVibra.cpp                    \
161        itf/IVisualization.cpp
162
163LOCAL_C_INCLUDES:=                                                  \
164        $(LOCAL_PATH)/../include                                    \
165        frameworks/av/media/libstagefright                        \
166        frameworks/av/media/libstagefright/include                \
167        frameworks/av/media/libstagefright/http                     \
168        frameworks/native/include/media/openmax
169
170LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
171
172LOCAL_CFLAGS += -Wno-multichar -Wno-invalid-offsetof
173
174LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror
175
176LOCAL_STATIC_LIBRARIES += \
177        libopensles_helper        \
178        libOpenSLESUT
179
180LOCAL_SHARED_LIBRARIES :=         \
181        liblog                    \
182        libutils                  \
183        libmedia                  \
184        libaudioclient            \
185        libaudiomanager           \
186        libbinder                 \
187        libstagefright            \
188        libstagefright_foundation \
189        libcutils                 \
190        libgui                    \
191        libdl                     \
192        libandroid_runtime
193
194LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \
195        libmedia                       \
196        libaudioclient
197
198# For Brillo, we do not want this dependency as it significantly increases the
199# size of the checkout. Also, the library is dependent on Java (which is not
200# present in Brillo), so it doesn't really make sense to have it anyways. See
201# b/24507845 for more details.
202ifndef BRILLO
203LOCAL_SHARED_LIBRARIES += \
204        libstagefright_http_support
205endif
206
207LOCAL_MODULE := libwilhelm
208
209ifeq ($(TARGET_BUILD_VARIANT),userdebug)
210        LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
211endif
212
213include $(BUILD_SHARED_LIBRARY)
214
215include $(CLEAR_VARS)
216LOCAL_SRC_FILES := sl_entry.cpp sl_iid.cpp assert.cpp
217LOCAL_C_INCLUDES:=                                                  \
218        frameworks/av/media/libstagefright                        \
219        frameworks/av/media/libstagefright/include                \
220        frameworks/native/include/media/openmax
221LOCAL_MODULE := libOpenSLES
222LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libwilhelm
223LOCAL_CFLAGS += -DLI_API= -fvisibility=hidden -UNDEBUG \
224                -DSL_API='__attribute__((visibility("default")))'
225LOCAL_CFLAGS += -Wall -Werror
226LOCAL_SHARED_LIBRARIES := libwilhelm liblog
227include $(BUILD_SHARED_LIBRARY)
228
229include $(CLEAR_VARS)
230LOCAL_SRC_FILES := xa_entry.cpp xa_iid.cpp assert.cpp
231LOCAL_C_INCLUDES:=                                                  \
232        frameworks/av/media/libstagefright                        \
233        frameworks/av/media/libstagefright/include                \
234        frameworks/native/include/media/openmax
235LOCAL_MODULE := libOpenMAXAL
236LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libwilhelm
237LOCAL_CFLAGS += -DLI_API= -fvisibility=hidden -UNDEBUG \
238                -DXA_API='__attribute__((visibility("default")))'
239LOCAL_CFLAGS += -Wall -Werror
240LOCAL_SHARED_LIBRARIES := libwilhelm liblog
241include $(BUILD_SHARED_LIBRARY)
242