• 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 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