blob: c613314ede785ca3db091f05be62663ed4d3be58 [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
David Nga5ad5ea2013-10-10 20:36:49 -070011ifneq ($(filter msm8974 msm8226 msm8610 apq8084,$(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
Steve Kondikac72feb2014-07-20 23:15:34 -070024ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),)
25 LOCAL_CFLAGS := -DPLATFORM_MSM8974
26endif
Ajay Dudanibe3335a2013-08-19 18:47:21 -070027endif
28
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -080029LOCAL_SRC_FILES := \
30 audio_hw.c \
Shiv Maliyappanahalli34b585f2013-10-01 15:49:05 -070031 voice.c \
Ben Romberger5c5af692014-01-10 13:49:02 -080032 platform_info.c \
Ajay Dudanibe3335a2013-08-19 18:47:21 -070033 $(AUDIO_PLATFORM)/platform.c
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -080034
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -070035LOCAL_SRC_FILES += audio_extn/audio_extn.c
36
Tony Layher692f19a2015-01-03 13:16:45 -050037LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
38LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Divya Narayanan Poojary21e77362017-07-25 18:24:00 +053039LOCAL_CFLAGS += -DUSE_VENDOR_EXTN
Tony Layher692f19a2015-01-03 13:16:45 -050040
Mingming Yin78541282014-05-16 12:10:55 -070041ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ANC_HEADSET)),true)
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -070042 LOCAL_CFLAGS += -DANC_HEADSET_ENABLED
43endif
44
Steve Kondik79733032014-12-08 04:02:28 -080045ifneq ($(strip $(AUDIO_FEATURE_ENABLED_FLUENCE)),false)
Venkata Narendra Kumar Gutta9c38b182014-03-27 17:39:57 +053046 LOCAL_CFLAGS += -DFLUENCE_ENABLED
47endif
48
Steve Kondik79733032014-12-08 04:02:28 -080049ifneq ($(strip $(AUDIO_FEATURE_ENABLED_PROXY_DEVICE)),false)
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -070050 LOCAL_CFLAGS += -DAFE_PROXY_ENABLED
51endif
52
Ramjee Singhfd4323f2015-11-18 13:26:59 +053053ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_POWER_OPT)),true)
54 LOCAL_CFLAGS += -DFM_POWER_OPT
Apoorv Raghuvanshi6e262842013-10-06 14:39:35 -070055 LOCAL_SRC_FILES += audio_extn/fm.c
56endif
57
Mingming Yin78541282014-05-16 12:10:55 -070058ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USBAUDIO)),true)
Apoorv Raghuvanshi5792d4b2013-10-07 18:40:05 -070059 LOCAL_CFLAGS += -DUSB_HEADSET_ENABLED
60 LOCAL_SRC_FILES += audio_extn/usb.c
61endif
Mingming Yin78541282014-05-16 12:10:55 -070062
Steve Kondik79733032014-12-08 04:02:28 -080063ifneq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),false)
Vimal Puthanveed5b4d3f12013-11-05 15:57:39 -080064 LOCAL_CFLAGS += -DHFP_ENABLED
65 LOCAL_SRC_FILES += audio_extn/hfp.c
66endif
Apoorv Raghuvanshi5792d4b2013-10-07 18:40:05 -070067
Mingming Yin78541282014-05-16 12:10:55 -070068ifeq ($(strip $(AUDIO_FEATURE_ENABLED_CUSTOMSTEREO)),true)
69 LOCAL_CFLAGS += -DCUSTOM_STEREO_ENABLED
70endif
71
72ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SSR)),true)
Apoorv Raghuvanshi6178a3f2013-10-19 12:38:54 -070073 LOCAL_CFLAGS += -DSSR_ENABLED
74 LOCAL_SRC_FILES += audio_extn/ssr.c
75 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/surround_sound/
76endif
77
Christopher R. Palmerbecbb2f2017-01-06 14:50:48 -050078ifeq ($(strip $(AUDIO_FEATURE_HUAWEI_SOUND_PARAM_PATH)),true)
79 LOCAL_CFLAGS += -DHUAWEI_SOUND_PARAM_PATH
80endif
81
Mingming Yin78541282014-05-16 12:10:55 -070082ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true)
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -070083 LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED
84 LOCAL_SRC_FILES += voice_extn/voice_extn.c
Steve Kondik504b9db2015-10-16 02:04:59 -070085ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INCALL_MUSIC)),true)
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -070086 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED
87endif
Bruno Martinse2078812015-08-03 22:52:51 +010088ifeq ($(strip $(AUDIO_FEATURE_HTC_DUAL_SIM)),true)
89 LOCAL_CFLAGS += -DHTC_DUAL_SIM
90 LOCAL_SRC_FILES += voice_extn/msim_voice_extn.c
91endif
ljzyala53260b2015-07-25 00:41:56 -070092ifeq ($(strip $(AUDIO_FEATURE_SAMSUNG_DUAL_SIM)),true)
93 LOCAL_CFLAGS += -DSAMSUNG_DUAL_SIM
Bruno Martinse2078812015-08-03 22:52:51 +010094 LOCAL_SRC_FILES += voice_extn/msim_voice_extn.c
ljzyala53260b2015-07-25 00:41:56 -070095endif
Steve Kondik72f069b2014-01-05 16:00:57 -080096endif
dhacker2966184b02014-03-29 03:02:50 -040097
Tony Layher29451af2015-01-03 13:10:54 -050098ifneq ($(filter apq8084 msm8974 msm8226 msm8610,$(TARGET_BOARD_PLATFORM)),)
Steve Kondik79733032014-12-08 04:02:28 -080099ifneq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_VOIP)),false)
Narsinga Rao Chella05573b72013-11-15 15:21:40 -0800100 LOCAL_CFLAGS += -DCOMPRESS_VOIP_ENABLED
101 LOCAL_SRC_FILES += voice_extn/compress_voip.c
102endif
dhacker2966184b02014-03-29 03:02:50 -0400103endif
Mingming Yin78541282014-05-16 12:10:55 -0700104
Steve Kondik79733032014-12-08 04:02:28 -0800105ifneq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FORMATS)),false)
Amit Shekharfaefb322014-09-08 14:08:19 -0700106LOCAL_CFLAGS += -DAUDIO_EXTN_FORMATS_ENABLED
Mingming Yin78541282014-05-16 12:10:55 -0700107endif
108
Tony Layher29451af2015-01-03 13:10:54 -0500109ifneq ($(filter apq8084 msm8974,$(TARGET_BOARD_PLATFORM)),)
Ramjee Singh3e68db32014-08-07 17:21:00 +0530110ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true)
Gopikrishnaiah Anandanf538cef2013-10-28 14:06:03 -0700111 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED
112 LOCAL_SRC_FILES += audio_extn/spkr_protection.c
Gopikrishnaiah Anandanf538cef2013-10-28 14:06:03 -0700113endif
dhacker2966184b02014-03-29 03:02:50 -0400114endif
Shiv Maliyappanahalli303f51d2013-10-25 16:24:27 -0700115
Eric Laurentda46bfb2014-08-25 22:39:29 -0500116ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTERNAL_SPEAKER)),true)
117 LOCAL_CFLAGS += -DEXTERNAL_SPEAKER_ENABLED
118 LOCAL_SRC_FILES += audio_extn/ext_speaker.c
119endif
120
Ravi Kumar Alamanda48c921d2013-10-29 06:07:44 -0700121ifdef MULTIPLE_HW_VARIANTS_ENABLED
122 LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED
123 LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c
124endif
125
Steve Kondik504b9db2015-10-16 02:04:59 -0700126#ifneq ($(filter apq8084 msm8974 msm8226 msm8610,$(TARGET_BOARD_PLATFORM)),)
127#ifeq ($(strip $(AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE)),true)
128# LOCAL_CFLAGS += -DCOMPRESS_CAPTURE_ENABLED
129# LOCAL_SRC_FILES += audio_extn/compress_capture.c
130#endif
131#endif
Mingming Yine62d7842013-10-25 16:26:03 -0700132
Eric Laurent0043e152014-10-23 14:42:59 -0700133ifeq ($(strip $(AUDIO_FEATURE_ENABLED_NEW_SAMPLE_RATE)),true)
134 LOCAL_CFLAGS += -DNEW_SAMPLE_RATE_ENABLED
135endif
136
Tony Layher29451af2015-01-03 13:10:54 -0500137ifneq ($(filter apq8084 msm8974 msm8226 msm8610,$(TARGET_BOARD_PLATFORM)),)
Mingming Yin78541282014-05-16 12:10:55 -0700138ifeq ($(strip $(DOLBY_DDP)),true)
Mingming Yin90310102013-11-13 16:57:00 -0800139 LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED
Subhash Chandra Bose Naripeddye0a07122013-12-14 00:34:53 -0800140 LOCAL_SRC_FILES += audio_extn/dolby.c
Mingming Yin90310102013-11-13 16:57:00 -0800141endif
dhacker2966184b02014-03-29 03:02:50 -0400142endif
Mingming Yin90310102013-11-13 16:57:00 -0800143
Mingming Yin78541282014-05-16 12:10:55 -0700144ifeq ($(strip $(DOLBY_DAP)),true)
Subhash Chandra Bose Naripeddye0a07122013-12-14 00:34:53 -0800145 LOCAL_CFLAGS += -DDS1_DOLBY_DAP_ENABLED
Mingming Yin78541282014-05-16 12:10:55 -0700146ifneq ($(strip $(DOLBY_DDP)),true)
Subhash Chandra Bose Naripeddye0a07122013-12-14 00:34:53 -0800147 LOCAL_SRC_FILES += audio_extn/dolby.c
148endif
149endif
150
Steve Kondikb045f472014-11-12 23:24:07 -0800151ifeq ($(AUDIO_FEATURE_LOW_LATENCY_PRIMARY),true)
152 LOCAL_CFLAGS += -DLOW_LATENCY_PRIMARY
153endif
154
Alexy Joseph505da3f2015-09-10 01:31:51 -0700155ifeq ($(strip $(AUDIO_FEATURE_ENABLED_WMA_OFFLOAD)),true)
Ethan Chenc856d972014-07-25 14:57:15 -0700156 LOCAL_CFLAGS += -DWMA_OFFLOAD_ENABLED
Alexy Joseph505da3f2015-09-10 01:31:51 -0700157 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
Ethan Chenc856d972014-07-25 14:57:15 -0700158endif
159
Tony Layher29451af2015-01-03 13:10:54 -0500160ifneq ($(filter apq8084 msm8974 msm8226,$(TARGET_BOARD_PLATFORM)),)
Ethan Chenc856d972014-07-25 14:57:15 -0700161ifneq ($(strip $(AUDIO_FEATURE_DISABLED_MP2_OFFLOAD)),true)
162 LOCAL_CFLAGS += -DMP2_OFFLOAD_ENABLED
Ethan Chenc856d972014-07-25 14:57:15 -0700163endif
164endif
165
Subhash Chandra Bose Naripeddy148144e2014-04-01 21:03:10 -0700166ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTIPLE_TUNNEL)), true)
167 LOCAL_CFLAGS += -DMULTIPLE_OFFLOAD_ENABLED
168endif
169
Steve Kondik6bedcdf2014-07-21 11:48:30 -0700170ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD)),true)
171 LOCAL_CFLAGS += -DFLAC_OFFLOAD_ENABLED
Alexy Joseph505da3f2015-09-10 01:31:51 -0700172 LOCAL_CFLAGS += -DCOMPRESS_METADATA_NEEDED
Steve Kondik6bedcdf2014-07-21 11:48:30 -0700173endif
174
Gabriele Md9ff3712015-12-17 22:00:12 +0100175ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LOW_LATENCY_CAPTURE)),true)
Ravi Kumar Alamanda1c3de5e2014-09-08 15:59:58 -0700176 LOCAL_CFLAGS += -DLOW_LATENCY_CAPTURE_USE_CASE=1
177endif
178
Steve Kondika7e38b72016-03-08 23:40:11 -0800179ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE)),true)
180 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
181endif
182
Sultan Qasim Khan3125b2c2017-02-26 22:58:35 -0500183ifeq ($(strip $(AUDIO_FEATURE_DISABLED_FM_VIRTUAL_RECORD)),true)
184 LOCAL_CFLAGS += -DNO_FM_VIRTUAL_RECORD
185endif
186
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800187LOCAL_SHARED_LIBRARIES := \
188 liblog \
189 libcutils \
Ethan Chen79c356c2015-06-07 12:26:14 -0700190 libhardware \
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800191 libtinyalsa \
Divya Narayanan Poojary21e77362017-07-25 18:24:00 +0530192 libtinycompress_vendor \
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800193 libaudioroute \
Ben Romberger5c5af692014-01-10 13:49:02 -0800194 libdl \
195 libexpat
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800196
197LOCAL_C_INCLUDES += \
198 external/tinyalsa/include \
Ravi Kumar Alamanda4e02e552013-07-17 15:22:04 -0700199 external/tinycompress/include \
Ben Romberger5c5af692014-01-10 13:49:02 -0800200 external/expat/lib \
Ethan Chen79c356c2015-06-07 12:26:14 -0700201 hardware/libhardware/include \
Ravi Kumar Alamandaf70ffb42013-04-16 15:55:53 -0700202 $(call include-path-for, audio-route) \
Eric Laurentb23d5282013-05-14 15:27:20 -0700203 $(call include-path-for, audio-effects) \
Apoorv Raghuvanshi9eaf94e2013-10-04 16:13:44 -0700204 $(LOCAL_PATH)/$(AUDIO_PLATFORM) \
Narsinga Rao Chella05573b72013-11-15 15:21:40 -0800205 $(LOCAL_PATH)/audio_extn \
Ramjee Singh716bd192015-07-10 16:34:41 +0530206 $(LOCAL_PATH)/voice_extn \
Steve Kondika7e38b72016-03-08 23:40:11 -0800207 $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800208
Kiran Kandi910e1862013-10-29 13:29:42 -0700209ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true)
210 LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED
211 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-listen
212 LOCAL_SRC_FILES += audio_extn/listen.c
213endif
214
Damir Didjustof1d46c72013-11-06 17:59:04 -0800215ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUXPCM_BT)),true)
216 LOCAL_CFLAGS += -DAUXPCM_BT_ENABLED
217endif
218
Tony Layherbe228ca2014-12-23 10:58:58 -0500219ifeq ($(BOARD_USES_ES705),true)
220 LOCAL_CFLAGS += -DUSE_ES705
221endif
222
Steve Kondik50ee8102015-01-02 14:47:25 -0800223ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HWDEP_CAL)),true)
224 LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED
225endif
226
Mingming Yind1179ad2014-08-04 15:49:24 -0700227LOCAL_COPY_HEADERS_TO := mm-audio
228LOCAL_COPY_HEADERS := audio_extn/audio_defs.h
229
Mingming Yin8e5a4f62013-10-07 15:23:41 -0700230LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800231
Diego Wilson79ef42e2017-03-17 15:29:43 -0700232LOCAL_MODULE_RELATIVE_PATH := hw
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800233
234LOCAL_MODULE_TAGS := optional
235
Diego Wilson79ef42e2017-03-17 15:29:43 -0700236LOCAL_MODULE_OWNER := qcom
237
238LOCAL_PROPRIETARY_MODULE := true
239
Ravi Kumar Alamanda2dfba2b2013-01-17 16:50:22 -0800240include $(BUILD_SHARED_LIBRARY)
241
242endif