ifneq ($(AUDIO_USE_STUB_HAL), true) ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true) LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_ARM_MODE := arm AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM) ifneq ($(filter msm8974 msm8226 msm8084 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 sdmshrike msmnile kona lahaina sdm660 msm8937 msm8953 $(MSMSTEPPE) $(TRINKET) lito atoll bengal,$(TARGET_BOARD_PLATFORM)),) # B-family platform uses msm8974 code base AUDIO_PLATFORM = msm8974 MULTIPLE_HW_VARIANTS_ENABLED := true ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8974 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8610,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8610 endif ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8x26 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8084,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8084 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter apq8084,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_APQ8084 endif ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8996 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED endif ifneq ($(filter msm8998 apq8098_latv,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8998 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED endif ifneq ($(filter sdm845,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_SDM845 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter sdm710,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_SDM710 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" endif ifneq ($(filter qcs605,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_QCS605 endif ifneq ($(filter msmnile sdmshrike,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSMNILE LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DINCALL_MUSIC_ENABLED LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter kona lahaina,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_KONA LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter $(MSMSTEPPE) ,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSMSTEPPE LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" endif ifneq ($(filter $(TRINKET) ,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_TRINKET LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" endif ifneq ($(filter lito,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_LITO LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter bengal,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_BENGAL LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter atoll,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_ATOLL LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DINCALL_STEREO_CAPTURE_ENABLED endif ifneq ($(filter sdm660,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSMFALCON LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" endif ifneq ($(filter msm8937,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8937 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" endif ifneq ($(filter msm8953,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS := -DPLATFORM_MSM8953 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="8" endif endif ifeq ($(TARGET_BOARD_AUTO),true) LOCAL_CFLAGS += -DPLATFORM_AUTO endif LOCAL_CFLAGS += -Wno-macro-redefined LOCAL_HEADER_LIBRARIES := libhardware_headers LOCAL_SRC_FILES := \ audio_hw.c \ acdb.c \ platform_info.c \ $(AUDIO_PLATFORM)/platform.c \ voice.c LOCAL_SRC_FILES += audio_extn/audio_extn.c \ audio_extn/audio_hidl.cpp \ audio_extn/compress_in.c \ audio_extn/fm.c \ audio_extn/keep_alive.c \ audio_extn/source_track.c \ audio_extn/usb.c \ audio_extn/utils.c \ audio_extn/device_utils.c \ voice_extn/compress_voip.c \ voice_extn/voice_extn.c LOCAL_SHARED_LIBRARIES := \ libbase \ liblog \ libcutils \ libtinyalsa \ libtinycompress \ libaudioroute \ libdl \ libaudioutils \ libexpat \ libhidlbase \ libprocessgroup \ libutils LOCAL_C_INCLUDES += \ external/tinyalsa/include \ external/tinycompress/include \ system/media/audio_utils/include \ external/expat/lib \ vendor/qcom/opensource/core-utils/fwk-detect \ $(call include-path-for, audio-route) \ $(call include-path-for, audio-effects) \ $(LOCAL_PATH)/$(AUDIO_PLATFORM) \ $(LOCAL_PATH)/audio_extn \ $(LOCAL_PATH)/voice_extn LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include/audio LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr # Hardware specific feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true) LOCAL_HEADER_LIBRARIES += audio_kernel_headers LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include endif ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT)),true) LOCAL_CFLAGS += -DENABLE_EXTENDED_COMPRESS_FORMAT endif LOCAL_CFLAGS += -DUSE_VENDOR_EXTN # Legacy feature ifdef MULTIPLE_HW_VARIANTS_ENABLED LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DTS_EAGLE)),true) LOCAL_CFLAGS += -DDTS_EAGLE LOCAL_SRC_FILES += audio_extn/dts_eagle.c endif # Legacy feature ifeq ($(strip $(DOLBY_DDP)),true) LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED LOCAL_SRC_FILES += audio_extn/dolby.c endif # Legacy feature ifeq ($(strip $(DS1_DOLBY_DAP)),true) LOCAL_CFLAGS += -DDS1_DOLBY_DAP_ENABLED ifneq ($(strip $(DOLBY_DDP)),true) LOCAL_SRC_FILES += audio_extn/dolby.c endif endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP)),true) LOCAL_CFLAGS += -DDS2_DOLBY_DAP_ENABLED LOCAL_CFLAGS += -DDS1_DOLBY_DDP_ENABLED ifneq ($(strip $(DOLBY_DDP)),true) ifneq ($(strip $(DS1_DOLBY_DAP)),true) LOCAL_SRC_FILES += audio_extn/dolby.c endif endif endif # NonLA feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_QAF)),true) LOCAL_CFLAGS += -DQAF_EXTN_ENABLED LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/qaf/ LOCAL_SRC_FILES += audio_extn/qaf.c endif # Hardware specific feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_QAP)),true) LOCAL_CFLAGS += -DQAP_EXTN_ENABLED -Wno-tautological-pointer-compare LOCAL_SRC_FILES += audio_extn/qap.c LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/qap_wrapper/ LOCAL_HEADER_LIBRARIES += audio_qaf_headers LOCAL_SHARED_LIBRARIES += libqap_wrapper liblog endif ifeq ($(strip $(AUDIO_FEATURE_ENABLED_LISTEN)),true) LOCAL_CFLAGS += -DAUDIO_LISTEN_ENABLED LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-listen LOCAL_SRC_FILES += audio_extn/listen.c endif # Hardware specific feature ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true) LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include/audio LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_SUPPORTED_EXTERNAL_BT)),true) LOCAL_CFLAGS += -DEXTERNAL_BT_SUPPORTED endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_FLICKER_SENSOR_INPUT)),true) LOCAL_CFLAGS += -DFLICKER_SENSOR_INPUT endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true) LOCAL_CFLAGS += -DNO_AUDIO_OUT endif # NonLA feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXT_HDMI)),true) LOCAL_CFLAGS += -DAUDIO_EXTERNAL_HDMI_ENABLED LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-parsers LOCAL_SHARED_LIBRARIES += libaudioparsers endif # Hardware specific feature ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true) ST_FEATURE_ENABLE := true endif # Hardware specific feature ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER_HAL)),true) ST_FEATURE_ENABLE := true endif # Hardware specific feature ifeq ($(ST_FEATURE_ENABLE), true) LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM) LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger LOCAL_SRC_FILES += audio_extn/soundtrigger.c ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) LOCAL_HEADER_LIBRARIES += sound_trigger.primary_headers endif endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AUXPCM_BT)),true) LOCAL_CFLAGS += -DAUXPCM_BT_ENABLED endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PM_SUPPORT)),true) LOCAL_CFLAGS += -DPM_SUPPORT_ENABLED LOCAL_SRC_FILES += audio_extn/pm.c LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libperipheralclient/inc LOCAL_SHARED_LIBRARIES += libperipheral_client endif # Hardare specific featre ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GEF_SUPPORT)),true) LOCAL_CFLAGS += -DAUDIO_GENERIC_EFFECT_FRAMEWORK_ENABLED LOCAL_SRC_FILES += audio_extn/gef.c endif # Hardware specific feature ifeq ($(strip $($AUDIO_FEATURE_ADSP_HDLR_ENABLED)),true) LOCAL_CFLAGS += -DAUDIO_EXTN_ADSP_HDLR_ENABLED LOCAL_SRC_FILES += audio_extn/adsp_hdlr.c endif ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_LOG)), true) LOCAL_CFLAGS += -DDYNAMIC_LOG_ENABLED LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/audio-log-utils LOCAL_SHARED_LIBRARIES += libaudio_log_utils endif # Hardware specific feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INSTANCE_ID)), true) LOCAL_CFLAGS += -DINSTANCE_ID_ENABLED endif # Kernel specific feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GKI)), true) LOCAL_CFLAGS += -DAUDIO_GKI_ENABLED endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV)), true) LOCAL_CFLAGS += -DRUN_KEEP_ALIVE_IN_ARM_FFV endif # Legacy feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FFV)), true) LOCAL_CFLAGS += -DFFV_ENABLED LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio-noship/include/ffv LOCAL_SRC_FILES += audio_extn/ffv.c endif # Hardware Specific feature ifeq ($(strip $(AUDIO_FEATURE_ENABLED_AHAL_EXT)),true) LOCAL_CFLAGS += -DAHAL_EXT_ENABLED LOCAL_SHARED_LIBRARIES += vendor.qti.hardware.audiohalext@1.0 endif LOCAL_CFLAGS += -D_GNU_SOURCE LOCAL_CFLAGS += -Wall -Werror LOCAL_COPY_HEADERS_TO := mm-audio LOCAL_COPY_HEADERS := audio_extn/audio_defs.h ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GCOV)),true) LOCAL_CFLAGS += --coverage -fprofile-arcs -ftest-coverage LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage LOCAL_STATIC_LIBRARIES += libprofile_rt endif LOCAL_SHARED_LIBRARIES += libbase libhidlbase libutils android.hardware.power@1.2 liblog LOCAL_SRC_FILES += audio_perf.cpp ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FM_TUNER_EXT)),true) LOCAL_CFLAGS += -DFM_TUNER_EXT_ENABLED endif LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM) LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_MODULE_TAGS := optional LOCAL_MODULE_OWNER := qti LOCAL_VENDOR_MODULE := true ifneq ($(filter kona lahaina,$(TARGET_BOARD_PLATFORM)),) LOCAL_SANITIZE := integer_overflow endif include $(BUILD_SHARED_LIBRARY) LOCAL_CFLAGS += -Wno-unused-variable LOCAL_CFLAGS += -Wno-sign-compare LOCAL_CFLAGS += -Wno-unused-parameter LOCAL_CFLAGS += -Wno-unused-label LOCAL_CFLAGS += -Wno-gnu-designator LOCAL_CFLAGS += -Wno-typedef-redefinition LOCAL_CFLAGS += -Wno-shorten-64-to-32 LOCAL_CFLAGS += -Wno-tautological-compare LOCAL_CFLAGS += -Wno-unused-function LOCAL_CFLAGS += -Wno-unused-local-typedef endif endif