1LOCAL_PATH:= $(call my-dir)
2
3# ======================= STATIC LIBRARY ==========================
4# This is being built because it make AAudio testing very easy with a complete executable.
5# TODO Remove this target later, when not needed.
6include $(CLEAR_VARS)
7
8LOCAL_MODULE := libaaudio
9LOCAL_MODULE_TAGS := optional
10
11LIBAAUDIO_DIR := $(TOP)/frameworks/av/media/libaaudio
12LIBAAUDIO_SRC_DIR := $(LIBAAUDIO_DIR)/src
13
14LOCAL_C_INCLUDES := \
15    $(call include-path-for, audio-utils) \
16    frameworks/native/include \
17    system/core/base/include \
18    frameworks/native/media/libaaudio/include/include \
19    frameworks/av/media/libaaudio/include \
20    frameworks/native/include \
21    frameworks/av/media/libaudioclient/include \
22    $(LOCAL_PATH) \
23    $(LOCAL_PATH)/binding \
24    $(LOCAL_PATH)/client \
25    $(LOCAL_PATH)/core \
26    $(LOCAL_PATH)/fifo \
27    $(LOCAL_PATH)/legacy \
28    $(LOCAL_PATH)/utility
29
30# If you add a file here then also add it below in the SHARED target
31LOCAL_SRC_FILES = \
32    core/AudioStream.cpp \
33    core/AudioStreamBuilder.cpp \
34    core/AAudioAudio.cpp \
35    legacy/AudioStreamLegacy.cpp \
36    legacy/AudioStreamRecord.cpp \
37    legacy/AudioStreamTrack.cpp \
38    utility/HandleTracker.cpp \
39    utility/AAudioUtilities.cpp \
40    utility/FixedBlockAdapter.cpp \
41    utility/FixedBlockReader.cpp \
42    utility/FixedBlockWriter.cpp \
43    utility/LinearRamp.cpp \
44    fifo/FifoBuffer.cpp \
45    fifo/FifoControllerBase.cpp \
46    client/AudioEndpoint.cpp \
47    client/AudioStreamInternal.cpp \
48    client/AudioStreamInternalCapture.cpp \
49    client/AudioStreamInternalPlay.cpp \
50    client/IsochronousClockModel.cpp \
51    binding/AudioEndpointParcelable.cpp \
52    binding/AAudioBinderClient.cpp \
53    binding/AAudioStreamRequest.cpp \
54    binding/AAudioStreamConfiguration.cpp \
55    binding/IAAudioService.cpp \
56    binding/RingBufferParcelable.cpp \
57    binding/SharedMemoryParcelable.cpp \
58    binding/SharedRegionParcelable.cpp
59
60LOCAL_CFLAGS += -Wno-unused-parameter -Wall -Werror
61
62# By default, all symbols are hidden.
63# LOCAL_CFLAGS += -fvisibility=hidden
64# AAUDIO_API is used to explicitly export a function or a variable as a visible symbol.
65LOCAL_CFLAGS += -DAAUDIO_API='__attribute__((visibility("default")))'
66
67include $(BUILD_STATIC_LIBRARY)
68
69# ======================= SHARED LIBRARY ==========================
70include $(CLEAR_VARS)
71
72LOCAL_MODULE := libaaudio
73LOCAL_MODULE_TAGS := optional
74
75LOCAL_C_INCLUDES := \
76    $(call include-path-for, audio-utils) \
77    frameworks/native/include \
78    system/core/base/include \
79    frameworks/native/media/libaaudio/include/include \
80    frameworks/av/media/libaaudio/include \
81    $(LOCAL_PATH) \
82    $(LOCAL_PATH)/binding \
83    $(LOCAL_PATH)/client \
84    $(LOCAL_PATH)/core \
85    $(LOCAL_PATH)/fifo \
86    $(LOCAL_PATH)/legacy \
87    $(LOCAL_PATH)/utility
88
89LOCAL_SRC_FILES = core/AudioStream.cpp \
90    core/AudioStreamBuilder.cpp \
91    core/AAudioAudio.cpp \
92    legacy/AudioStreamLegacy.cpp \
93    legacy/AudioStreamRecord.cpp \
94    legacy/AudioStreamTrack.cpp \
95    utility/HandleTracker.cpp \
96    utility/AAudioUtilities.cpp \
97    utility/FixedBlockAdapter.cpp \
98    utility/FixedBlockReader.cpp \
99    utility/FixedBlockWriter.cpp \
100    utility/LinearRamp.cpp \
101    fifo/FifoBuffer.cpp \
102    fifo/FifoControllerBase.cpp \
103    client/AudioEndpoint.cpp \
104    client/AudioStreamInternal.cpp \
105    client/AudioStreamInternalCapture.cpp \
106    client/AudioStreamInternalPlay.cpp \
107    client/IsochronousClockModel.cpp \
108    binding/AudioEndpointParcelable.cpp \
109    binding/AAudioBinderClient.cpp \
110    binding/AAudioStreamRequest.cpp \
111    binding/AAudioStreamConfiguration.cpp \
112    binding/IAAudioService.cpp \
113    binding/RingBufferParcelable.cpp \
114    binding/SharedMemoryParcelable.cpp \
115    binding/SharedRegionParcelable.cpp
116
117LOCAL_CFLAGS += -Wno-unused-parameter -Wall -Werror
118
119# By default, all symbols are hidden.
120# LOCAL_CFLAGS += -fvisibility=hidden
121# AAUDIO_API is used to explicitly export a function or a variable as a visible symbol.
122LOCAL_CFLAGS += -DAAUDIO_API='__attribute__((visibility("default")))'
123
124LOCAL_SHARED_LIBRARIES := libaudioclient liblog libcutils libutils libbinder libaudiomanager
125
126include $(BUILD_SHARED_LIBRARY)
127