blob: 82eb510fe0f5675a2df2c3e945b659e61553cc28 [file] [log] [blame]
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -08001ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true)
2
3LOCAL_PATH := $(call my-dir)
4
5include $(CLEAR_VARS)
6
7LOCAL_ARM_MODE := arm
8
Ajay Dudanibe3335a2013-08-19 18:47:21 -07009AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
Ravi Kumar Alamanda48c921d2013-10-29 06:07:44 -070010
Meng Wang74ace552018-10-08 13:06:05 +080011ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 msmnile $(MSMSTEPPE) $(TRINKET) kona,$(TARGET_BOARD_PLATFORM)),)
Ajay Dudanibe3335a2013-08-19 18:47:21 -070012 # B-family platform uses msm8974 code base
13 AUDIO_PLATFORM = msm8974
Ravi Kumar Alamanda48c921d2013-10-29 06:07:44 -070014 MULTIPLE_HW_VARIANTS_ENABLED := true
Mingming Yin8e5a4f62013-10-07 15:23:41 -070015ifneq ($(filter msm8610,$(TARGET_BOARD_PLATFORM)),)
16 LOCAL_CFLAGS := -DPLATFORM_MSM8610
17endif
Shiv Maliyappanahalli34b585f2013-10-01 15:49:05 -070018ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
19 LOCAL_CFLAGS := -DPLATFORM_MSM8x26
20endif
Vidyakumar Athotad9d9ff32013-11-13 11:46:52 -080021ifneq ($(filter apq8084,$(TARGET_BOARD_PLATFORM)),)
22 LOCAL_CFLAGS := -DPLATFORM_APQ8084
23endif
Mingming Yin0e1b2902014-05-19 18:20:59 -070024ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),)
25 LOCAL_CFLAGS := -DPLATFORM_MSM8994
26endif
Fred Oh68ad1d32014-12-09 13:08:07 -080027ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),)
28 LOCAL_CFLAGS := -DPLATFORM_MSM8994
29endif
Mingming Yin89c6a7f2015-03-24 11:56:14 -070030ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),)
31 LOCAL_CFLAGS := -DPLATFORM_MSM8996
Banajit Goswami22582e72014-10-15 18:29:34 -070032endif
Venkataraman Nerellapallib8689ec2017-05-04 11:55:29 +053033ifneq ($(filter msm8998 apq8098_latv,$(TARGET_BOARD_PLATFORM)),)
Ben Romberger22d41232016-11-16 14:55:25 -080034 LOCAL_CFLAGS := -DPLATFORM_MSM8998
Banajit Goswami4c0dff22016-03-04 18:31:22 -080035endif
Soumild9f5bfa2017-04-04 19:31:22 -070036ifneq ($(filter sdm845,$(TARGET_BOARD_PLATFORM)),)
Garmond Leung986024b2017-04-28 14:41:10 -070037 LOCAL_CFLAGS := -DPLATFORM_SDM845
Xiaoyu Ye0afc9232017-03-28 21:31:22 -070038endif
Naresh Tanniru42e0e602018-03-16 19:45:21 +053039ifneq ($(filter sdm710,$(TARGET_BOARD_PLATFORM)),)
40 LOCAL_CFLAGS := -DPLATFORM_SDM710
Sharad Sangled39232d2017-08-08 20:27:18 +053041endif
Ashok Sidipotu5accc8d2017-11-08 11:21:55 +053042ifneq ($(filter qcs605,$(TARGET_BOARD_PLATFORM)),)
43 LOCAL_CFLAGS := -DPLATFORM_QCS605
44endif
Xiaoyu Ye91553e62017-11-21 17:35:50 -080045ifneq ($(filter msmnile,$(TARGET_BOARD_PLATFORM)),)
46 LOCAL_CFLAGS := -DPLATFORM_MSMNILE
47endif
Tanya Dixit6e3bccc2018-04-05 13:42:18 +053048ifneq ($(filter $(MSMSTEPPE) ,$(TARGET_BOARD_PLATFORM)),)
49 LOCAL_CFLAGS := -DPLATFORM_MSMSTEPPE
50endif
Hari Veerubhotla31bce422018-10-14 16:52:10 +053051ifneq ($(filter $(TRINKET) ,$(TARGET_BOARD_PLATFORM)),)
52 LOCAL_CFLAGS := -DPLATFORM_TRINKET
53endif
Meng Wang74ace552018-10-08 13:06:05 +080054ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),)
55 LOCAL_CFLAGS := -DPLATFORM_KONA
56endif
Ajay Dudanibe3335a2013-08-19 18:47:21 -070057endif
58
Arusha Goyalfda29152016-12-26 10:53:39 +053059ifneq ($(filter msm8916 msm8909 msm8952 msm8937 thorium msm8953 msmgold sdm660,$(TARGET_BOARD_PLATFORM)),)
Naresh Tannirudb72d1e2014-03-05 17:33:47 +053060 AUDIO_PLATFORM = msm8916
61 MULTIPLE_HW_VARIANTS_ENABLED := true
62 LOCAL_CFLAGS := -DPLATFORM_MSM8916
padarshr04e74812014-09-17 13:34:31 +053063ifneq ($(filter msm8909,$(TARGET_BOARD_PLATFORM)),)
Dhananjay Kumar2bb2fc12014-07-11 19:14:23 +053064 LOCAL_CFLAGS := -DPLATFORM_MSM8909
65endif
Arusha Goyalfda29152016-12-26 10:53:39 +053066ifneq ($(filter sdm660,$(TARGET_BOARD_PLATFORM)),)
Dhananjay Kumard3ab9f42016-07-20 17:05:47 +053067 LOCAL_CFLAGS := -DPLATFORM_MSMFALCON
68endif
Naresh Tannirudb72d1e2014-03-05 17:33:47 +053069endif
Naresh Tanniru8b919ac2014-01-30 19:12:53 +053070
Derek Chen53e6dd62018-10-24 01:04:25 -070071ifeq ($(TARGET_BOARD_AUTO),true)
72 LOCAL_CFLAGS += -DPLATFORM_AUTO
73endif
74
Bruce Levycea5f172018-01-31 16:06:04 -080075LOCAL_CFLAGS += -Wno-macro-redefined
76
Revathi Uddarajue8bd13c2018-04-02 21:27:54 +053077LOCAL_HEADER_LIBRARIES := libhardware_headers
78
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -080079LOCAL_SRC_FILES := \
80 audio_hw.c \
Shiv Maliyappanahalli34b585f2013-10-01 15:49:05 -070081 voice.c \
Ben Romberger61764e32014-01-10 13:49:02 -080082 platform_info.c \
Vignesh Kulothungan55396882017-04-20 14:37:02 -070083 $(AUDIO_PLATFORM)/platform.c \
84 acdb.c
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -080085
Subhash Chandra Bose Naripeddy19dc03b2014-03-10 14:43:05 -070086LOCAL_SRC_FILES += audio_extn/audio_extn.c \
87 audio_extn/utils.c
Vidyakumar Athota21b3bb92014-04-25 11:08:08 -070088LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
Asish Bhattacharya0b9bfb02017-07-15 08:39:36 +053089LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
Vidyakumar Athota21b3bb92014-04-25 11:08:08 -070090LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Sharad Sangledf0dd6f2018-04-04 19:07:39 +053091
92ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
Revathi Uddaraju3f4cfa42018-06-04 20:35:10 +053093 LOCAL_HEADER_LIBRARIES += audio_kernel_headers
Asish Bhattacharyad0665872017-09-07 19:46:29 +053094 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
95 LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
96endif
97
Divya Narayanan Poojary8fd98c82017-07-03 11:17:08 +053098LOCAL_CFLAGS += -DUSE_VENDOR_EXTN
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -070099
Mingming Yine5bf8372015-02-26 15:03:10 -0800100ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_EDID)),true)
Mingming Yin497419f2015-07-01 16:57:32 -0700101 LOCAL_CFLAGS += -DHDMI_EDID
Pradnya Chaphekar4403bd72014-09-09 09:50:01 -0700102 LOCAL_SRC_FILES += edid.c
103endif
104
Mingming Yin08c7e312015-03-16 18:10:58 -0700105ifeq ($(strip $(AUDIO_USE_LL_AS_PRIMARY_OUTPUT)),true)
106 LOCAL_CFLAGS += -DUSE_LL_AS_PRIMARY_OUTPUT
107endif
108
Mingming Yina6dad602014-05-16 12:10:55 -0700109ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD)),true)
Mingming Yin67e34512014-04-03 17:47:22 -0700110 LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED
111endif
112
Mingming Yina6dad602014-05-16 12:10:55 -0700113ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ANC_HEADSET)),true)
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -0700114 LOCAL_CFLAGS += -DANC_HEADSET_ENABLED
115endif
116
Venkata Narendra Kumar Gutta4bd09d02016-01-29 15:31:04 +0530117ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HIFI_AUDIO)),true)
118 LOCAL_CFLAGS += -DHIFI_AUDIO_ENABLED
119endif
120
Srinivas Julakanti1ca769a2017-01-04 23:18:08 -0800121ifeq ($(strip $(AUDIO_FEATURE_ENABLED_RAS)),true)
122 LOCAL_CFLAGS += -DRAS_ENABLED
123endif
124
Banajit Goswami20cdd212015-09-11 01:11:30 -0700125ifeq ($(strip $(AUDIO_FEATURE_ENABLED_VBAT_MONITOR)),true)
126 LOCAL_CFLAGS += -DVBAT_MONITOR_ENABLED
127endif
128
Mingming Yina6dad602014-05-16 12:10:55 -0700129ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FLUENCE)),true)
Venkata Narendra Kumar Gutta88fd0bc2014-03-27 19:47:56 +0530130 LOCAL_CFLAGS += -DFLUENCE_ENABLED
131endif
132
Mingming Yina6dad602014-05-16 12:10:55 -0700133ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PROXY_DEVICE)),true)
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -0700134 LOCAL_CFLAGS += -DAFE_PROXY_ENABLED
135endif
136
Sudheer Papothi390bcf32014-12-04 01:25:17 +0530137ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE)),true)
138 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
139endif
140
Mingming Yin12125e82015-10-26 20:40:36 -0700141ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_POWER_OPT)),true)
142 LOCAL_CFLAGS += -DFM_POWER_OPT
Apoorv Raghuvanshi6e262842013-10-06 14:39:35 -0700143 LOCAL_SRC_FILES += audio_extn/fm.c
144endif
145
Kuirong Wang357e0b12016-07-06 00:29:15 -0700146ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USB_TUNNEL_AUDIO)),true)
Apoorv Raghuvanshi5792d4b2013-10-07 18:40:05 -0700147 LOCAL_CFLAGS += -DUSB_HEADSET_ENABLED
148 LOCAL_SRC_FILES += audio_extn/usb.c
149endif
Mingming Yina6dad602014-05-16 12:10:55 -0700150
151ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true)
Vimal Puthanveed5b4d3f12013-11-05 15:57:39 -0800152 LOCAL_CFLAGS += -DHFP_ENABLED
153 LOCAL_SRC_FILES += audio_extn/hfp.c
154endif
Apoorv Raghuvanshi5792d4b2013-10-07 18:40:05 -0700155
Mingming Yina6dad602014-05-16 12:10:55 -0700156ifeq ($(strip $(AUDIO_FEATURE_ENABLED_CUSTOMSTEREO)),true)
Jitendra Singh Naruka9a6a8d42014-02-10 20:07:12 -0800157 LOCAL_CFLAGS += -DCUSTOM_STEREO_ENABLED
158endif
159
Mingming Yina6dad602014-05-16 12:10:55 -0700160ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SSR)),true)
Apoorv Raghuvanshi6178a3f2013-10-19 12:38:54 -0700161 LOCAL_CFLAGS += -DSSR_ENABLED
162 LOCAL_SRC_FILES += audio_extn/ssr.c
Shiv Maliyappanahalli5a10aea2015-07-02 10:36:23 -0700163 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/surround_sound_3mic/
Nagender Telkarca2b4942014-03-24 12:25:42 -0600164 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/common/inc/
Apoorv Raghuvanshi6178a3f2013-10-19 12:38:54 -0700165endif
166
Mingming Yina6dad602014-05-16 12:10:55 -0700167ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true)
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -0700168 LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED
169 LOCAL_SRC_FILES += voice_extn/voice_extn.c
Vidyakumar Athota21b3bb92014-04-25 11:08:08 -0700170
Mingming Yina6dad602014-05-16 12:10:55 -0700171ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INCALL_MUSIC)),true)
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -0700172 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED
173endif
Mingming Yina6dad602014-05-16 12:10:55 -0700174ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_VOIP)),true)
Narsinga Rao Chella05573b72013-11-15 15:21:40 -0800175 LOCAL_CFLAGS += -DCOMPRESS_VOIP_ENABLED
176 LOCAL_SRC_FILES += voice_extn/compress_voip.c
177endif
Subhash Chandra Bose Naripeddy19dc03b2014-03-10 14:43:05 -0700178
179endif
180
Mingming Yina6dad602014-05-16 12:10:55 -0700181ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FORMATS)),true)
Satya Krishna Pindiproli5d82d012015-08-12 18:21:25 +0530182LOCAL_CFLAGS += -DAUDIO_EXTN_FORMATS_ENABLED
Gopikrishnaiah Anandanf538cef2013-10-28 14:06:03 -0700183endif
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -0700184
Anish Kumard80a1392014-07-16 16:18:51 -0700185ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true)
Gopikrishnaiah Anandanf538cef2013-10-28 14:06:03 -0700186 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED
187 LOCAL_SRC_FILES += audio_extn/spkr_protection.c
Gopikrishnaiah Anandanf538cef2013-10-28 14:06:03 -0700188endif
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -0700189
Ravi Kumar Alamanda48c921d2013-10-29 06:07:44 -0700190ifdef MULTIPLE_HW_VARIANTS_ENABLED
191 LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED
192 LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c
193endif
194
Mingming Yina6dad602014-05-16 12:10:55 -0700195ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE)),true)
Mingming Yine62d7842013-10-25 16:26:03 -0700196 LOCAL_CFLAGS += -DCOMPRESS_CAPTURE_ENABLED
197 LOCAL_SRC_FILES += audio_extn/compress_capture.c
198endif
199
Jitendra Naruka1b6513f2014-11-22 19:34:13 -0800200ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DTS_EAGLE)),true)
201 LOCAL_CFLAGS += -DDTS_EAGLE
202 LOCAL_SRC_FILES += audio_extn/dts_eagle.c
203endif
204
Mingming Yina6dad602014-05-16 12:10:55 -0700205ifeq ($(strip $(DOLBY_DDP)),true)
Mingming Yin90310102013-11-13 16:57:00 -0800206 LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
Subhash Chandra Bose Naripeddy7690c562013-12-14 00:34:53 -0800207 LOCAL_SRC_FILES += audio_extn/dolby.c
Mingming Yin90310102013-11-13 16:57:00 -0800208endif
209
Pradnya Chaphekar73e2e8b2015-05-01 02:18:17 -0700210ifeq ($(strip $(DS1_DOLBY_DAP)),true)
Subhash Chandra Bose Naripeddy7690c562013-12-14 00:34:53 -0800211 LOCAL_CFLAGS += -DDS1_DOLBY_DAP_ENABLED
Mingming Yina6dad602014-05-16 12:10:55 -0700212ifneq ($(strip $(DOLBY_DDP)),true)
Subhash Chandra Bose Naripeddy7690c562013-12-14 00:34:53 -0800213 LOCAL_SRC_FILES += audio_extn/dolby.c
214endif
215endif
216
Mingming Yin3ee55c62014-08-04 14:23:35 -0700217ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER)),true)
Satya Krishna Pindiproli70471602015-04-24 19:12:43 +0530218 LOCAL_CFLAGS += -DFLAC_OFFLOAD_ENABLED
219 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
220endif
221
222ifeq ($(strip $(AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD)),true)
223 LOCAL_CFLAGS += -DVORBIS_OFFLOAD_ENABLED
224 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
225
226endif
227
228ifeq ($(strip $(AUDIO_FEATURE_ENABLED_WMA_OFFLOAD)),true)
229 LOCAL_CFLAGS += -DWMA_OFFLOAD_ENABLED
230 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
231endif
232
233ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD)),true)
234 LOCAL_CFLAGS += -DALAC_OFFLOAD_ENABLED
235 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
236endif
237
238ifeq ($(strip $(AUDIO_FEATURE_ENABLED_APE_OFFLOAD)),true)
239 LOCAL_CFLAGS += -DAPE_OFFLOAD_ENABLED
240 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
Mingming Yin3ee55c62014-08-04 14:23:35 -0700241endif
242
Vidyakumar Athotac1d39c92015-02-25 15:14:26 -0800243ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24)),true)
244 LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED_24
245endif
246
Manish Dewangana6fc5442015-08-24 20:30:31 +0530247ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD)),true)
248 LOCAL_CFLAGS += -DAAC_ADTS_OFFLOAD_ENABLED
249endif
250
Lior Barenboim0b61bc72014-05-13 13:01:37 +0300251ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DEV_ARBI)),true)
252 LOCAL_CFLAGS += -DDEV_ARBI_ENABLED
253 LOCAL_SRC_FILES += audio_extn/dev_arbi.c
254endif
255
Naresh Tanniruc0517bc2014-10-26 15:30:55 +0530256ifeq ($(strip $(AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY)),true)
257 LOCAL_CFLAGS += -DRECORD_PLAY_CONCURRENCY
258endif
259
Ashish Jain8ec50472014-10-16 13:56:28 +0530260ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ACDB_LICENSE)), true)
261 LOCAL_CFLAGS += -DDOLBY_ACDB_LICENSE
262endif
263
Pradnya Chaphekar8a9dcd82014-09-09 09:49:10 -0700264ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP)),true)
265 LOCAL_CFLAGS += -DDS2_DOLBY_DAP_ENABLED
Pradnya Chaphekar73e2e8b2015-05-01 02:18:17 -0700266 LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
Pradnya Chaphekar8a9dcd82014-09-09 09:49:10 -0700267ifneq ($(strip $(DOLBY_DDP)),true)
Pradnya Chaphekar73e2e8b2015-05-01 02:18:17 -0700268 ifneq ($(strip $(DS1_DOLBY_DAP)),true)
Pradnya Chaphekar8a9dcd82014-09-09 09:49:10 -0700269 LOCAL_SRC_FILES += audio_extn/dolby.c
270 endif
271endif
272endif
273
Pradnya Chaphekar80a8cfb2014-10-20 16:17:01 -0700274ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH)),true)
275 LOCAL_CFLAGS += -DHDMI_PASSTHROUGH_ENABLED
Mingming Yin21854652016-04-13 11:54:02 -0700276 LOCAL_SRC_FILES += audio_extn/passthru.c
277endif
278
279ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KEEP_ALIVE)),true)
280 LOCAL_CFLAGS += -DKEEP_ALIVE_ENABLED
281 LOCAL_SRC_FILES += audio_extn/keep_alive.c
Pradnya Chaphekar80a8cfb2014-10-20 16:17:01 -0700282endif
283
Narsinga Rao Chellaf928a982015-03-06 14:57:35 -0800284ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SOURCE_TRACKING)),true)
285 LOCAL_CFLAGS += -DSOURCE_TRACKING_ENABLED
286 LOCAL_SRC_FILES += audio_extn/source_track.c
287endif
288
Naresh Tanniru9d027a62015-03-13 01:32:10 +0530289ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPLIT_A2DP)),true)
290 LOCAL_CFLAGS += -DSPLIT_A2DP_ENABLED
291 LOCAL_SRC_FILES += audio_extn/a2dp.c
292endif
293
Ashish Jaind5694242017-09-05 20:09:06 +0530294ifeq ($(strip $(AUDIO_FEATURE_IP_HDLR_ENABLED)),true)
295 LOCAL_CFLAGS += -DAUDIO_EXTN_IP_HDLR_ENABLED
296 LOCAL_SRC_FILES += audio_extn/ip_hdlr_intf.c
297endif
298
Lakshman Chaluvaraju22ba9f12016-09-12 11:42:10 +0530299ifeq ($(strip $(AUDIO_FEATURE_ENABLED_QAF)),true)
300 LOCAL_CFLAGS += -DQAF_EXTN_ENABLED
301 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/qaf/
302 LOCAL_SRC_FILES += audio_extn/qaf.c
303endif
304
Dhananjay Kumaree4d2002016-10-25 18:02:58 +0530305ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_INPUT)),true)
306 LOCAL_CFLAGS += -DCOMPRESS_INPUT_ENABLED
307 LOCAL_SRC_FILES += audio_extn/compress_in.c
308endif
309
310ifeq ($(strip $(BOARD_SUPPORTS_QAHW)),true)
311 LOCAL_CFLAGS += -DAUDIO_HW_EXTN_API_ENABLED
312 LOCAL_SRC_FILES += audio_hw_extn_api.c
313endif
314
Bharath Gopal01310bb2016-12-05 15:39:32 +0530315ifeq ($(strip $(AUDIO_FEATURE_ENABLED_BT_HAL)),true)
316 LOCAL_CFLAGS += -DAUDIO_EXTN_BT_HAL_ENABLED
317 LOCAL_SRC_FILES += audio_extn/bt_hal.c
318endif
319
Divya Sharmaa866d9a2019-01-29 15:41:23 -0800320ifeq ($(strip $(USE_LIB_PROCESS_GROUP)),true)
321LOCAL_SHARED_LIBRARIES := \
322 liblog \
323 libcutils \
324 libtinyalsa \
325 libtinycompress_vendor \
326 libaudioroute \
327 libdl \
328 libaudioutils \
329 libexpat \
330 libhidltransport \
331 libprocessgroup
332else
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800333LOCAL_SHARED_LIBRARIES := \
334 liblog \
335 libcutils \
336 libtinyalsa \
337 libaudioroute \
Ben Romberger61764e32014-01-10 13:49:02 -0800338 libdl \
Ashish Jainf1eaa582016-05-23 20:54:24 +0530339 libaudioutils \
Vidyakumar Athota77327dd2014-08-07 16:44:25 -0700340 libexpat
Divya Sharmaa866d9a2019-01-29 15:41:23 -0800341endif
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800342
Hans Chang9afd2102018-10-26 16:05:04 -0700343ifneq ($(strip $(TARGET_USES_AOSP_FOR_AUDIO)),true)
344 LOCAL_SHARED_LIBRARIES += libtinycompress_vendor
345else
346 LOCAL_SHARED_LIBRARIES += libtinycompress
347endif
348
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800349LOCAL_C_INCLUDES += \
350 external/tinyalsa/include \
Ravi Kumar Alamanda4e02e552013-07-17 15:22:04 -0700351 external/tinycompress/include \
Ashish Jainf1eaa582016-05-23 20:54:24 +0530352 system/media/audio_utils/include \
Ben Romberger61764e32014-01-10 13:49:02 -0800353 external/expat/lib \
Ravi Kumar Alamandaf70ffb42013-04-16 15:55:53 -0700354 $(call include-path-for, audio-route) \
Eric Laurentb23d5282013-05-14 15:27:20 -0700355 $(call include-path-for, audio-effects) \
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -0700356 $(LOCAL_PATH)/$(AUDIO_PLATFORM) \
Narsinga Rao Chella05573b72013-11-15 15:21:40 -0800357 $(LOCAL_PATH)/audio_extn \
Vidyakumar Athota77327dd2014-08-07 16:44:25 -0700358 $(LOCAL_PATH)/voice_extn
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800359
Kiran Kandi910e1862013-10-29 13:29:42 -0700360ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true)
361 LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED
362 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-listen
363 LOCAL_SRC_FILES += audio_extn/listen.c
364endif
365
Srinivas Rao Narne8ff4db52018-01-25 16:04:44 -0800366ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
367 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
Satish Babu Patakokila1d3b15d2018-07-03 17:09:40 +0530368 LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Srinivas Rao Narne8ff4db52018-01-25 16:04:44 -0800369endif
370
Ashish Jain81eb2a82015-05-13 10:52:34 +0530371ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXT_HDMI)),true)
372 LOCAL_CFLAGS += -DAUDIO_EXTERNAL_HDMI_ENABLED
373ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH)),true)
374 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-parsers
375 LOCAL_SHARED_LIBRARIES += libaudioparsers
376endif
377endif
378
Ravi Kumar Alamanda8fa6b192014-09-09 16:06:42 -0700379ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
Banajit Goswami710f3532016-08-28 14:48:33 -0700380 ST_FEATURE_ENABLE := true
381endif
382
383ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER_HAL)),true)
384 ST_FEATURE_ENABLE := true
385endif
386
387ifeq ($(ST_FEATURE_ENABLE), true)
Ravi Kumar Alamanda8fa6b192014-09-09 16:06:42 -0700388 LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED
389 LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM)
390 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger
391 LOCAL_SRC_FILES += audio_extn/soundtrigger.c
392endif
393
Damir Didjustof1d46c72013-11-06 17:59:04 -0800394ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUXPCM_BT)),true)
395 LOCAL_CFLAGS += -DAUXPCM_BT_ENABLED
396endif
397
Preetam Singh Ranawat2d0e4632015-02-02 12:40:59 +0530398ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PM_SUPPORT)),true)
399 LOCAL_CFLAGS += -DPM_SUPPORT_ENABLED
400 LOCAL_SRC_FILES += audio_extn/pm.c
401 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libperipheralclient/inc
402 LOCAL_SHARED_LIBRARIES += libperipheral_client
403endif
404
Shiv Maliyappanahallic0656402016-09-03 14:13:26 -0700405ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DISPLAY_PORT)),true)
406 LOCAL_CFLAGS += -DDISPLAY_PORT_ENABLED
407endif
408
Weiyin Jiangaa80acd2016-09-21 16:42:11 +0800409ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GEF_SUPPORT)),true)
410 LOCAL_CFLAGS += -DAUDIO_GENERIC_EFFECT_FRAMEWORK_ENABLED
411 LOCAL_SRC_FILES += audio_extn/gef.c
412endif
413
Ben Rombergerd771a7c2017-02-22 18:05:17 -0800414ifeq ($(strip $($AUDIO_FEATURE_ADSP_HDLR_ENABLED)),true)
415 LOCAL_CFLAGS += -DAUDIO_EXTN_ADSP_HDLR_ENABLED
416 LOCAL_SRC_FILES += audio_extn/adsp_hdlr.c
417endif
418
Revathi Uddaraju1eac8b02017-05-18 17:13:33 +0530419ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_LOG)), true)
420 LOCAL_CFLAGS += -DDYNAMIC_LOG_ENABLED
421 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-log-utils
422 LOCAL_SHARED_LIBRARIES += libaudio_log_utils
423endif
424
Vikram Pandurangaa8932c22018-07-02 15:54:28 -0700425ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS)),true)
Vikram Pandurangadf59cae2017-08-03 18:04:55 -0700426 LOCAL_CFLAGS += -DDYNAMIC_ECNS_ENABLED
427endif
428
Aditya Bavanari29bcea22017-10-03 20:10:35 +0530429ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INSTANCE_ID)), true)
430 LOCAL_CFLAGS += -DINSTANCE_ID_ENABLED
431endif
432
Garmond Leung5fd0b552018-04-17 11:56:12 -0700433ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USB_BURST_MODE)), true)
434 LOCAL_CFLAGS += -DUSB_BURST_MODE_ENABLED
435endif
436
Haynes Mathew George01156f92018-04-13 15:29:54 -0700437ifeq ($(strip $(AUDIO_FEATURE_ENABLED_BATTERY_LISTENER)), true)
438 LOCAL_CFLAGS += -DBATTERY_LISTENER_ENABLED
439 LOCAL_SRC_FILES += audio_extn/battery_listener.cpp
440 LOCAL_SHARED_LIBRARIES += android.hardware.health@1.0 android.hardware.health@2.0 \
441 libhidltransport libbase libhidlbase libhwbinder \
442 libutils android.hardware.power@1.2
443 LOCAL_STATIC_LIBRARIES := libhealthhalutils
444endif
445
Dhanalakshmi Siddani0f1dfd52019-01-09 12:38:13 +0530446ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV)), true)
447 LOCAL_CFLAGS += -DRUN_KEEP_ALIVE_IN_ARM_FFV
448endif
449
450ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FFV)), true)
451 LOCAL_CFLAGS += -DFFV_ENABLED
452 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio-noship/include/ffv
453 LOCAL_SRC_FILES += audio_extn/ffv.c
454endif
455
Dhanalakshmi Siddani6b2274c2019-03-22 15:27:44 +0530456LOCAL_CFLAGS += -D_GNU_SOURCE
Satya Krishna Pindiprolif1cd92b2016-04-14 19:05:23 +0530457LOCAL_CFLAGS += -Wall -Werror
Alexy Josephb1379942016-01-29 15:49:38 -0800458
Mingming Yin5b7c0b32014-08-04 15:49:24 -0700459LOCAL_COPY_HEADERS_TO := mm-audio
460LOCAL_COPY_HEADERS := audio_extn/audio_defs.h
461
Haynes Mathew George3a1f1fb2016-08-09 15:43:13 -0700462ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SND_MONITOR)), true)
463 LOCAL_CFLAGS += -DSND_MONITOR_ENABLED
464 LOCAL_SRC_FILES += audio_extn/sndmonitor.c
465endif
466
Derek Chencdd17c72014-11-24 12:39:14 -0800467ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXT_HW_PLUGIN)),true)
468 LOCAL_CFLAGS += -DEXT_HW_PLUGIN_ENABLED
469 LOCAL_SRC_FILES += audio_extn/ext_hw_plugin.c
470endif
471
Vatsal Buchaa1358992018-11-14 13:25:08 +0530472ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GCOV)),true)
473 LOCAL_CFLAGS += --coverage -fprofile-arcs -ftest-coverage
474 LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage
475 LOCAL_STATIC_LIBRARIES += libprofile_rt
476endif
477
Adveit Joshi045692a2019-02-01 18:08:49 +0530478ifeq ($(strip $(AUDIO_FEATURE_ENABLED_A2DP_DECODERS)), true)
479 LOCAL_CFLAGS += -DAPTX_DECODER_ENABLED
480endif
481
Mingming Yin8e5a4f62013-10-07 15:23:41 -0700482LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800483
Apoorv Raghuvanshi1b555f72014-05-29 12:48:15 -0700484LOCAL_MODULE_RELATIVE_PATH := hw
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800485
486LOCAL_MODULE_TAGS := optional
487
Naresh Tanniru10758b62017-06-05 21:05:53 +0530488LOCAL_VENDOR_MODULE := true
Ramjee Singhacef98f2019-06-28 11:01:25 +0530489LOCAL_CFLAGS += -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
Naresh Tanniru10758b62017-06-05 21:05:53 +0530490
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800491include $(BUILD_SHARED_LIBRARY)
492
Soumil Shah196157e2018-01-22 17:39:48 -0800493LOCAL_CFLAGS += -Wno-unused-variable
494LOCAL_CFLAGS += -Wno-sign-compare
495LOCAL_CFLAGS += -Wno-unused-parameter
496LOCAL_CFLAGS += -Wno-unused-label
497LOCAL_CFLAGS += -Wno-gnu-designator
498LOCAL_CFLAGS += -Wno-typedef-redefinition
499LOCAL_CFLAGS += -Wno-shorten-64-to-32
500LOCAL_CFLAGS += -Wno-tautological-compare
501LOCAL_CFLAGS += -Wno-unused-function
502LOCAL_CFLAGS += -Wno-unused-local-typedef
503
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800504endif