blob: 2f85a317f88bb70deebaeaa9820a5a04477e6fd7 [file] [log] [blame]
Uday Kishore Pasupuleti582e0a52016-01-06 19:12:41 -08001ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true)
2
3LOCAL_PATH := $(call my-dir)
4
5include $(CLEAR_VARS)
6
7LOCAL_ARM_MODE := arm
8
9AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
10
11ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994,$(TARGET_BOARD_PLATFORM)),)
12 # B-family platform uses msm8974 code base
13 AUDIO_PLATFORM = msm8974
14 MULTIPLE_HW_VARIANTS_ENABLED := true
15ifneq ($(filter msm8610,$(TARGET_BOARD_PLATFORM)),)
16 LOCAL_CFLAGS := -DPLATFORM_MSM8610
17endif
18ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
19 LOCAL_CFLAGS := -DPLATFORM_MSM8x26
20endif
21ifneq ($(filter apq8084,$(TARGET_BOARD_PLATFORM)),)
22 LOCAL_CFLAGS := -DPLATFORM_APQ8084
23endif
24ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),)
25 LOCAL_CFLAGS := -DPLATFORM_MSM8994
26endif
27endif
28
29ifneq ($(filter msm8916 msm8909,$(TARGET_BOARD_PLATFORM)),)
30 AUDIO_PLATFORM = msm8916
31 MULTIPLE_HW_VARIANTS_ENABLED := true
32 LOCAL_CFLAGS := -DPLATFORM_MSM8916
33ifneq ($(filter msm8909,$(TARGET_BOARD_PLATFORM)),)
34 LOCAL_CFLAGS := -DPLATFORM_MSM8909
35endif
36endif
37
38LOCAL_SRC_FILES := \
39 audio_hw.c \
40 voice.c \
41 platform_info.c \
42 $(AUDIO_PLATFORM)/platform.c
43
44LOCAL_SRC_FILES += audio_extn/audio_extn.c \
45 audio_extn/utils.c
46
Surendar karkad517d9d2016-03-01 13:29:26 +053047ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ASM_LOOPBACK_RX)),true)
48 LOCAL_CFLAGS += -DASM_LOOPBACK_RX_ENABLED
49endif
50
Uday Kishore Pasupuleti582e0a52016-01-06 19:12:41 -080051ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD)),true)
52 LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED
53endif
54
55ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ANC_HEADSET)),true)
56 LOCAL_CFLAGS += -DANC_HEADSET_ENABLED
57endif
58
59ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FLUENCE)),true)
60 LOCAL_CFLAGS += -DFLUENCE_ENABLED
61endif
62
63ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PROXY_DEVICE)),true)
64 LOCAL_CFLAGS += -DAFE_PROXY_ENABLED
65endif
66
67ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE)),true)
68 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
69endif
70
71ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_POWER_OPT)),true)
72 LOCAL_CFLAGS += -DFM_POWER_OPT
73 LOCAL_SRC_FILES += audio_extn/fm.c
74endif
75
76ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USBAUDIO)),true)
77 LOCAL_CFLAGS += -DUSB_HEADSET_ENABLED
78 LOCAL_SRC_FILES += audio_extn/usb.c
79endif
80
81ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true)
82 LOCAL_CFLAGS += -DHFP_ENABLED
83 LOCAL_SRC_FILES += audio_extn/hfp.c
84endif
85
86ifeq ($(strip $(AUDIO_FEATURE_ENABLED_CUSTOMSTEREO)),true)
87 LOCAL_CFLAGS += -DCUSTOM_STEREO_ENABLED
88endif
89
90ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SSR)),true)
91 LOCAL_CFLAGS += -DSSR_ENABLED
92 LOCAL_SRC_FILES += audio_extn/ssr.c
93 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/surround_sound/
94 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/common/inc/
95endif
96
97ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true)
98 LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED
99 LOCAL_SRC_FILES += voice_extn/voice_extn.c
100
101ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INCALL_MUSIC)),true)
102 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED
103endif
104ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_VOIP)),true)
105 LOCAL_CFLAGS += -DCOMPRESS_VOIP_ENABLED
106 LOCAL_SRC_FILES += voice_extn/compress_voip.c
107endif
108
109endif
110
111ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FORMATS)),true)
112LOCAL_CFLAGS += -DFORMATS_ENABLED
113endif
114
115ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true)
116 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED
117 LOCAL_SRC_FILES += audio_extn/spkr_protection.c
118endif
119
120ifdef MULTIPLE_HW_VARIANTS_ENABLED
121 LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED
122 LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c
123endif
124
125ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE)),true)
126 LOCAL_CFLAGS += -DCOMPRESS_CAPTURE_ENABLED
127 LOCAL_SRC_FILES += audio_extn/compress_capture.c
128endif
129
130ifeq ($(strip $(DOLBY_DDP)),true)
131 LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
132 LOCAL_SRC_FILES += audio_extn/dolby.c
133endif
134
135ifeq ($(strip $(DOLBY_DAP)),true)
136 LOCAL_CFLAGS += -DDS1_DOLBY_DAP_ENABLED
137ifneq ($(strip $(DOLBY_DDP)),true)
138 LOCAL_SRC_FILES += audio_extn/dolby.c
139endif
140endif
141
142ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTIPLE_TUNNEL)), true)
143 LOCAL_CFLAGS += -DMULTIPLE_OFFLOAD_ENABLED
144endif
145
146ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER)),true)
147 LOCAL_CFLAGS += -DFLAC_OFFLOAD_ENABLED
148 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
149endif
150
151ifeq ($(strip $(AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD)),true)
152 LOCAL_CFLAGS += -DVORBIS_OFFLOAD_ENABLED
153 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
154
155endif
156
157ifeq ($(strip $(AUDIO_FEATURE_ENABLED_WMA_OFFLOAD)),true)
158 LOCAL_CFLAGS += -DWMA_OFFLOAD_ENABLED
159 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
160endif
161
162ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD)),true)
163 LOCAL_CFLAGS += -DALAC_OFFLOAD_ENABLED
164 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
165endif
166
167ifeq ($(strip $(AUDIO_FEATURE_ENABLED_APE_OFFLOAD)),true)
168 LOCAL_CFLAGS += -DAPE_OFFLOAD_ENABLED
169 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
170endif
171
172ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
173 LOCAL_CFLAGS += -DDEV_ARBI_ENABLED
174 LOCAL_SRC_FILES += audio_extn/dev_arbi.c
175endif
176
Pavan Chikkala7c378a52015-12-04 15:39:24 +0530177ifneq ($(TARGET_SUPPORTS_WEARABLES),true)
Uday Kishore Pasupuleti582e0a52016-01-06 19:12:41 -0800178ifeq ($(strip $(AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY)),true)
179 LOCAL_CFLAGS += -DRECORD_PLAY_CONCURRENCY
180endif
Pavan Chikkala7c378a52015-12-04 15:39:24 +0530181endif
Uday Kishore Pasupuleti582e0a52016-01-06 19:12:41 -0800182
183ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ACDB_LICENSE)), true)
184 LOCAL_CFLAGS += -DDOLBY_ACDB_LICENSE
185endif
186
187ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP)),true)
188 LOCAL_CFLAGS += -DDS2_DOLBY_DAP_ENABLED
189ifneq ($(strip $(DOLBY_DDP)),true)
190 ifneq ($(strip $(DOLBY_DAP)),true)
191 LOCAL_SRC_FILES += audio_extn/dolby.c
192 endif
193endif
194endif
195
196ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPLIT_A2DP)),true)
197 LOCAL_CFLAGS += -DSPLIT_A2DP_ENABLED
198 LOCAL_SRC_FILES += audio_extn/a2dp.c
199endif
200
201
Amit Shekhar6ffa3382014-10-14 15:39:30 -0700202ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SOURCE_TRACKING)),true)
203 LOCAL_CFLAGS += -DSOURCE_TRACKING_ENABLED
204 LOCAL_SRC_FILES += audio_extn/source_track.c
205endif
206
Dhananjay Kumar80302262015-04-28 11:14:31 +0530207ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUDIOSPHERE)),true)
208 LOCAL_CFLAGS += -DAUDIOSPHERE_ENABLED
209endif
210
Uday Kishore Pasupuleti582e0a52016-01-06 19:12:41 -0800211LOCAL_SHARED_LIBRARIES := \
212 liblog \
213 libcutils \
214 libtinyalsa \
215 libtinycompress \
216 libaudioroute \
217 libdl \
218 libhardware \
219 libexpat
220
221LOCAL_C_INCLUDES += \
222 external/tinyalsa/include \
223 external/tinycompress/include \
224 external/expat/lib \
225 $(call include-path-for, audio-route) \
226 $(call include-path-for, audio-effects) \
227 $(LOCAL_PATH)/$(AUDIO_PLATFORM) \
228 $(LOCAL_PATH)/audio_extn \
229 $(LOCAL_PATH)/voice_extn
230
231ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true)
232 LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED
233 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-listen
234 LOCAL_SRC_FILES += audio_extn/listen.c
235endif
236
237ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
238 LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED
239 LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM)
240 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger
241 LOCAL_SRC_FILES += audio_extn/soundtrigger.c
242endif
243
244ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUXPCM_BT)),true)
245 LOCAL_CFLAGS += -DAUXPCM_BT_ENABLED
246endif
247
248ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PM_SUPPORT)),true)
249 LOCAL_CFLAGS += -DPM_SUPPORT_ENABLED
250 LOCAL_SRC_FILES += audio_extn/pm.c
251 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libperipheralclient/inc
252 LOCAL_SHARED_LIBRARIES += libperipheral_client
253endif
254
255LOCAL_COPY_HEADERS_TO := mm-audio
256LOCAL_COPY_HEADERS := audio_extn/audio_defs.h
257
258LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
259
260LOCAL_MODULE_RELATIVE_PATH := hw
261
262LOCAL_MODULE_TAGS := optional
263
264include $(BUILD_SHARED_LIBRARY)
265
266endif