1ifeq ($(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) 10ifneq ($(filter msm8960,$(TARGET_BOARD_PLATFORM)),) 11 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 12endif 13ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994 msm8996 msm8998 sdm845,$(TARGET_BOARD_PLATFORM)),) 14 # B-family platform uses msm8974 code base 15 AUDIO_PLATFORM = msm8974 16ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),) 17 LOCAL_CFLAGS := -DPLATFORM_MSM8974 18 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 19endif 20ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),) 21 LOCAL_CFLAGS := -DPLATFORM_MSM8x26 22 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 23endif 24ifneq ($(filter msm8084,$(TARGET_BOARD_PLATFORM)),) 25 LOCAL_CFLAGS := -DPLATFORM_MSM8084 26 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 27endif 28ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),) 29 LOCAL_CFLAGS := -DPLATFORM_MSM8994 30 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" 31 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED 32endif 33ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),) 34 LOCAL_CFLAGS := -DPLATFORM_MSM8994 35 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" 36 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED 37endif 38ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) 39 LOCAL_CFLAGS := -DPLATFORM_MSM8996 40 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" 41 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED 42 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED 43 MULTIPLE_HW_VARIANTS_ENABLED := true 44endif 45ifneq ($(filter msm8998,$(TARGET_BOARD_PLATFORM)),) 46 LOCAL_CFLAGS := -DPLATFORM_MSM8998 47 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" 48 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED 49 MULTIPLE_HW_VARIANTS_ENABLED := true 50endif 51ifneq ($(filter sdm845,$(TARGET_BOARD_PLATFORM)),) 52 LOCAL_CFLAGS := -DPLATFORM_SDM845 53 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" 54 LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED 55 LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED 56 MULTIPLE_HW_VARIANTS_ENABLED := true 57endif 58endif 59 60ifneq ($(filter msm8916 msm8909 msm8952,$(TARGET_BOARD_PLATFORM)),) 61 AUDIO_PLATFORM = msm8916 62 LOCAL_CFLAGS := -DPLATFORM_MSM8916 63ifneq ($(filter msm8909,$(TARGET_BOARD_PLATFORM)),) 64 LOCAL_CFLAGS := -DPLATFORM_MSM8909 65endif 66 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 67 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED 68 MULTIPLE_HW_VARIANTS_ENABLED := true 69endif 70 71LOCAL_SRC_FILES := \ 72 audio_hw.c \ 73 voice.c \ 74 platform_info.c \ 75 audio_extn/ext_speaker.c \ 76 audio_extn/audio_extn.c \ 77 audio_extn/utils.c \ 78 $(AUDIO_PLATFORM)/platform.c \ 79 acdb.c 80 81ifdef MULTIPLE_HW_VARIANTS_ENABLED 82 LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED 83 LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c 84endif 85 86ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USB_TUNNEL)),true) 87 LOCAL_CFLAGS += -DUSB_TUNNEL_ENABLED 88 LOCAL_SRC_FILES += audio_extn/usb.c 89endif 90 91ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USB_SIDETONE_VOLUME)),true) 92 LOCAL_CFLAGS += -DUSB_SIDETONE_VOLUME 93endif 94 95LOCAL_SHARED_LIBRARIES := \ 96 libaudioutils \ 97 liblog \ 98 libcutils \ 99 libtinyalsa \ 100 libtinycompress \ 101 libaudioroute \ 102 libdl \ 103 libexpat 104 105LOCAL_C_INCLUDES += \ 106 external/tinyalsa/include \ 107 external/tinycompress/include \ 108 $(call include-path-for, audio-route) \ 109 $(call include-path-for, audio-effects) \ 110 $(LOCAL_PATH)/$(AUDIO_PLATFORM) \ 111 $(LOCAL_PATH)/audio_extn \ 112 $(LOCAL_PATH)/voice_extn \ 113 external/expat/lib 114 115ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SMART_PA_TFA_98XX)),true) 116 LOCAL_SHARED_LIBRARIES += libexTfa98xx 117 LOCAL_CFLAGS += -DSMART_PA_TFA_98XX_SUPPORTED 118 LOCAL_SRC_FILES += audio_extn/tfa_98xx.c 119endif 120 121ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true) 122 LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED 123 LOCAL_SRC_FILES += voice_extn/voice_extn.c 124endif 125 126ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true) 127 LOCAL_CFLAGS += -DHFP_ENABLED 128 LOCAL_SRC_FILES += audio_extn/hfp.c 129endif 130 131ifeq ($(strip $(AUDIO_FEATURE_SUPPORTED_EXTERNAL_BT)),true) 132 LOCAL_CFLAGS += -DEXTERNAL_BT_SUPPORTED 133endif 134 135ifeq ($(strip $(AUDIO_FEATURE_FLICKER_SENSOR_INPUT)),true) 136 LOCAL_CFLAGS += -DFLICKER_SENSOR_INPUT 137endif 138 139ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true) 140 LOCAL_CFLAGS += -DNO_AUDIO_OUT 141endif 142 143ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true) 144 LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED 145 LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM) 146 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger 147 LOCAL_SRC_FILES += audio_extn/soundtrigger.c 148ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) 149LOCAL_HEADER_LIBRARIES := sound_trigger.primary_headers 150endif 151 152endif 153 154ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true) 155 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED 156 LOCAL_SRC_FILES += audio_extn/spkr_protection.c 157endif 158 159ifeq ($(strip $(AUDIO_FEATURE_ENABLED_CIRRUS_SPKR_PROTECTION)),true) 160 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED 161 LOCAL_SRC_FILES += audio_extn/cirrus_playback.c 162endif 163 164ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DSM_FEEDBACK)),true) 165 LOCAL_CFLAGS += -DDSM_FEEDBACK_ENABLED 166 LOCAL_SRC_FILES += audio_extn/dsm_feedback.c 167endif 168 169ifeq ($(strip $(AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD)),true) 170 LOCAL_CFLAGS += -DA2DP_OFFLOAD_ENABLED 171 LOCAL_SRC_FILES += audio_extn/a2dp.c 172endif 173 174ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm845,$(TARGET_BOARD_PLATFORM)),) 175 # push codec/mad calibration to HW dep node 176 # applicable to msm8992/8994 or newer platforms 177 LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED 178 LOCAL_SRC_FILES += audio_extn/hwdep_cal.c 179endif 180 181ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SND_MONITOR)), true) 182 LOCAL_CFLAGS += -DSND_MONITOR_ENABLED 183 LOCAL_SRC_FILES += audio_extn/sndmonitor.c 184endif 185 186 187ifeq ($(strip $(AUDIO_FEATURE_ENABLED_USB_SERVICE_INTERVAL)), true) 188 LOCAL_CFLAGS += -DUSB_SERVICE_INTERVAL_ENABLED 189endif 190 191ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MAXX_AUDIO)), true) 192 LOCAL_CFLAGS += -DMAXXAUDIO_QDSP_ENABLED 193 LOCAL_SRC_FILES += audio_extn/maxxaudio.c 194endif 195 196ifeq ($(strip $(AUDIO_FEATURE_ENABLED_BG_CAL)),true) 197 LOCAL_CFLAGS += -DBG_CODEC_CAL 198endif 199 200LOCAL_SHARED_LIBRARIES += libbase libhidlbase libhwbinder libutils android.hardware.power@1.2 liblog 201 202LOCAL_SRC_FILES += audio_perf.cpp 203 204LOCAL_HEADER_LIBRARIES += libhardware_headers 205 206LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM) 207 208LOCAL_MODULE_RELATIVE_PATH := hw 209 210LOCAL_MODULE_TAGS := optional 211 212LOCAL_MODULE_OWNER := qcom 213 214LOCAL_PROPRIETARY_MODULE := true 215 216LOCAL_CFLAGS += -Werror 217 218include $(BUILD_SHARED_LIBRARY) 219 220endif 221