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,$(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 MULTIPLE_HW_VARIANTS_ENABLED := true 43endif 44endif 45 46ifneq ($(filter msm8916 msm8909 msm8952,$(TARGET_BOARD_PLATFORM)),) 47 AUDIO_PLATFORM = msm8916 48 LOCAL_CFLAGS := -DPLATFORM_MSM8916 49ifneq ($(filter msm8909,$(TARGET_BOARD_PLATFORM)),) 50 LOCAL_CFLAGS := -DPLATFORM_MSM8909 51endif 52 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" 53 LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED 54 MULTIPLE_HW_VARIANTS_ENABLED := true 55endif 56 57LOCAL_SRC_FILES := \ 58 audio_hw.c \ 59 voice.c \ 60 platform_info.c \ 61 audio_extn/ext_speaker.c \ 62 audio_extn/audio_extn.c \ 63 $(AUDIO_PLATFORM)/platform.c 64 65ifdef MULTIPLE_HW_VARIANTS_ENABLED 66 LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED 67 LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c 68endif 69 70LOCAL_SHARED_LIBRARIES := \ 71 liblog \ 72 libcutils \ 73 libtinyalsa \ 74 libtinycompress \ 75 libaudioroute \ 76 libdl \ 77 libexpat 78 79LOCAL_C_INCLUDES += \ 80 external/tinyalsa/include \ 81 external/tinycompress/include \ 82 $(call include-path-for, audio-route) \ 83 $(call include-path-for, audio-effects) \ 84 $(LOCAL_PATH)/$(AUDIO_PLATFORM) \ 85 $(LOCAL_PATH)/audio_extn \ 86 $(LOCAL_PATH)/voice_extn \ 87 external/expat/lib 88 89ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true) 90 LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED 91 LOCAL_SRC_FILES += voice_extn/voice_extn.c 92endif 93 94ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true) 95 LOCAL_CFLAGS += -DHFP_ENABLED 96 LOCAL_SRC_FILES += audio_extn/hfp.c 97endif 98 99ifeq ($(strip $(AUDIO_FEATURE_SUPPORTED_EXTERNAL_BT)),true) 100 LOCAL_CFLAGS += -DEXTERNAL_BT_SUPPORTED 101endif 102 103ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true) 104 LOCAL_CFLAGS += -DNO_AUDIO_OUT 105endif 106 107ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true) 108 LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED 109 LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM) 110 LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger 111 LOCAL_SRC_FILES += audio_extn/soundtrigger.c 112endif 113 114ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true) 115 LOCAL_CFLAGS += -DSPKR_PROT_ENABLED 116 LOCAL_SRC_FILES += audio_extn/spkr_protection.c 117endif 118 119ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DSM_FEEDBACK)),true) 120 LOCAL_CFLAGS += -DDSM_FEEDBACK_ENABLED 121 LOCAL_SRC_FILES += audio_extn/dsm_feedback.c 122endif 123 124ifneq ($(filter msm8992 msm8994 msm8996,$(TARGET_BOARD_PLATFORM)),) 125 # push codec/mad calibration to HW dep node 126 # applicable to msm8992/8994 or newer platforms 127 LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED 128 LOCAL_SRC_FILES += audio_extn/hwdep_cal.c 129endif 130 131ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SND_MONITOR)), true) 132 LOCAL_CFLAGS += -DSND_MONITOR_ENABLED 133 LOCAL_SRC_FILES += audio_extn/sndmonitor.c 134endif 135 136LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM) 137 138LOCAL_MODULE_RELATIVE_PATH := hw 139 140LOCAL_MODULE_TAGS := optional 141 142include $(BUILD_SHARED_LIBRARY) 143 144endif 145