• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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,$(TARGET_BOARD_PLATFORM)),)
14  # B-family platform uses msm8974 code base
15  AUDIO_PLATFORM = msm8974
16ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),)
17  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2"
18endif
19ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
20  LOCAL_CFLAGS := -DPLATFORM_MSM8x26
21  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2"
22endif
23ifneq ($(filter msm8084,$(TARGET_BOARD_PLATFORM)),)
24  LOCAL_CFLAGS := -DPLATFORM_MSM8084
25  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2"
26endif
27ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),)
28  LOCAL_CFLAGS := -DPLATFORM_MSM8994
29  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
30  LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
31endif
32ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),)
33  LOCAL_CFLAGS := -DPLATFORM_MSM8994
34  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
35  LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
36endif
37endif
38
39LOCAL_SRC_FILES := \
40	audio_hw.c \
41	voice.c \
42	platform_info.c \
43	audio_extn/ext_speaker.c \
44	audio_extn/audio_extn.c \
45	$(AUDIO_PLATFORM)/platform.c
46
47LOCAL_SHARED_LIBRARIES := \
48	liblog \
49	libcutils \
50	libtinyalsa \
51	libtinycompress \
52	libaudioroute \
53	libdl \
54	libexpat
55
56LOCAL_C_INCLUDES += \
57	external/tinyalsa/include \
58	external/tinycompress/include \
59	$(call include-path-for, audio-route) \
60	$(call include-path-for, audio-effects) \
61	$(LOCAL_PATH)/$(AUDIO_PLATFORM) \
62	$(LOCAL_PATH)/audio_extn \
63	$(LOCAL_PATH)/voice_extn \
64	external/expat/lib
65
66ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS)),true)
67    LOCAL_CFLAGS += -DMULTI_VOICE_SESSION_ENABLED
68    LOCAL_SRC_FILES += voice_extn/voice_extn.c
69endif
70
71ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HFP)),true)
72    LOCAL_CFLAGS += -DHFP_ENABLED
73    LOCAL_SRC_FILES += audio_extn/hfp.c
74endif
75
76ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true)
77    LOCAL_CFLAGS += -DNO_AUDIO_OUT
78endif
79
80ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER)),true)
81    LOCAL_CFLAGS += -DSOUND_TRIGGER_ENABLED
82    LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM)
83    LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/sound_trigger
84    LOCAL_SRC_FILES += audio_extn/soundtrigger.c
85endif
86
87ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SPKR_PROTECTION)),true)
88    LOCAL_CFLAGS += -DSPKR_PROT_ENABLED
89    LOCAL_SRC_FILES += audio_extn/spkr_protection.c
90endif
91
92ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DSM_FEEDBACK)),true)
93    LOCAL_CFLAGS += -DDSM_FEEDBACK_ENABLED
94    LOCAL_SRC_FILES += audio_extn/dsm_feedback.c
95endif
96
97ifneq ($(filter msm8992 msm8994,$(TARGET_BOARD_PLATFORM)),)
98  # push codec/mad calibration to HW dep node
99  # applicable to msm8992/8994 or newer platforms
100  LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED
101  LOCAL_SRC_FILES += audio_extn/hwdep_cal.c
102endif
103
104LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
105
106LOCAL_MODULE_RELATIVE_PATH := hw
107
108LOCAL_MODULE_TAGS := optional
109
110include $(BUILD_SHARED_LIBRARY)
111
112endif
113