blob: d7c66323f33042dc4dccf4a4b3e4787a3ab3ac76 [file] [log] [blame]
Quinn Male2e883752019-03-22 11:28:54 -07001ifeq ($(strip $(BOARD_SUPPORTS_OPENSOURCE_STHAL)),true)
2
3LOCAL_PATH := $(call my-dir)
4
5include $(CLEAR_VARS)
6
7LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM=$(TARGET_BOARD_PLATFORM)
8
9# _ANDROID_ is needed by GCS, it uses this flag to determine the struct packing keyword per OS.
10# Ideally we should not need this as GCS should be able to
11# determine from copmiler flags
12LOCAL_CFLAGS += -D_ANDROID_
13
Viraja Kommaraju4f831452019-11-22 14:03:52 +053014ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT)), true)
15 LOCAL_CFLAGS += -DDAEMON_SUPPORT_AUTO
16endif
17
Quinn Male2e883752019-03-22 11:28:54 -070018LOCAL_CFLAGS += -Wall -Werror
19
sasevsb07d0c52022-06-01 13:03:40 +053020ifeq ($(ENABLE_AUDIO_LEGACY_TECHPACK), true)
21 LOCAL_CFLAGS += -DENABLE_SVA_MIXER_CTL
22endif
23
Quinn Male2e883752019-03-22 11:28:54 -070024LOCAL_SRC_FILES := \
25 sound_trigger_hw.c \
26 sound_trigger_platform.c \
27 st_session.c \
28 st_hw_session_lsm.c \
29 st_hw_session_gcs.c \
30 st_hw_common.c \
31 st_buffering.c
32
33ifeq ($(strip $(BOARD_SUPPORTS_QSTHW_API)),true)
34 LOCAL_CFLAGS += -DST_EXTN_ENABLED
35 LOCAL_SRC_FILES += st_extn/st_hw_extn.c
36 LOCAL_SRC_FILES += st_extn/st_hw_extn_intf.c
37endif
38
39ifeq ($(strip $(SOUND_TRIGGER_FEATURE_LPMA_ENABLED)),true)
40 LOCAL_CFLAGS += -DST_LMPA_EXTN_ENABLED
41 LOCAL_SRC_FILES += st_extn/st_hw_lpma_extn.c
42endif
43
44ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KEEP_ALIVE)),true)
45 LOCAL_CFLAGS += -DUSE_KEEP_ALIVE
46endif
47
48ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE)),true)
49 LOCAL_CFLAGS += -DST_MULTI_STAGE_ENABLED
Quinn Maleef3e6722019-06-10 18:18:25 -070050 LOCAL_C_INCLUDES += $(LOCAL_PATH)/ext_headers
Quinn Male2e883752019-03-22 11:28:54 -070051 LOCAL_SRC_FILES += st_second_stage.c
52endif
53
54ifeq ($(call is-platform-sdk-version-at-least,29),true)
55 LOCAL_CFLAGS += -DST_SUPPORT_GET_MODEL_STATE
56endif
57
58ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER_CPU_AFFINITY_SET)),true)
59 LOCAL_CFLAGS += -DSOUND_TRIGGER_CPU_AFFINITY_SET -D_GNU_SOURCE
60endif
61
62ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GCOV)),true)
63LOCAL_CFLAGS += --coverage -fprofile-arcs -ftest-coverage
64LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage
65LOCAL_STATIC_LIBRARIES += libprofile_rt
66endif
67
68LOCAL_C_INCLUDES += \
69 external/tinyalsa/include \
70 external/expat/lib \
71 $(call include-path-for, audio-route) \
72 $(LOCAL_PATH)/st_extn
73ifeq ($(call is-platform-sdk-version-at-least,28),true) #Android P and above
74LOCAL_HEADER_LIBRARIES += libhardware_headers \
75 libsystem_headers
76endif
77
78LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/graphite-client/gcs
79LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/graphite-client/osal
80LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
Vignesh Kulothungandd3a9732020-01-08 14:29:13 -080081LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include/audio
Quinn Male2e883752019-03-22 11:28:54 -070082LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
sasevsd73574f2022-03-29 19:19:13 +053083
84ifeq ($(ENABLE_AUDIO_LEGACY_TECHPACK),true)
85LOCAL_HEADER_LIBRARIES += qti_legacy_audio_kernel_uapi
86endif
87
Quinn Male2e883752019-03-22 11:28:54 -070088LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
89ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
90 LOCAL_HEADER_LIBRARIES += audio_kernel_headers
Naveen S Nair73e66962021-05-24 17:56:20 +053091 ifneq ($(BOARD_OPENSOURCE_DIR), )
92 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/$(BOARD_OPENSOURCE_DIR)/audio-kernel/include
93 else
94 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
95 endif # BOARD_OPENSOURCE_DIR
Quinn Male2e883752019-03-22 11:28:54 -070096endif
97
98LOCAL_SHARED_LIBRARIES := \
99 liblog \
100 libcutils \
101 libtinyalsa \
102 libaudioroute \
103 libdl \
104 libexpat \
105 libhardware_legacy
106
107LOCAL_MODULE := sound_trigger.primary.$(TARGET_BOARD_PLATFORM)
108LOCAL_MODULE_RELATIVE_PATH := hw
109LOCAL_MODULE_OWNER := qti
110LOCAL_MODULE_TAGS := optional
111LOCAL_VENDOR_MODULE := true
112LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
113
114LOCAL_COPY_HEADERS_TO := mm-audio/sound_trigger
115LOCAL_COPY_HEADERS := sound_trigger_prop_intf.h
116
117include $(BUILD_SHARED_LIBRARY)
118
119#
120# to build sound_trigger_test executable
121# uncomment the lines below
122#
123#include $(CLEAR_VARS)
124#
125#LOCAL_SRC_FILES := sound_trigger_test.c
126#LOCAL_C_INCLUDES += \
127# system/core/include \
128# hardware/libhardware/include
129#
130#LOCAL_SHARED_LIBRARIES := \
131# libcutils \
132# libhardware
133#
134#LOCAL_MODULE := sound_trigger_test
135#LOCAL_MODULE_OWNER := qti
136#LOCAL_MODULE_TAGS := optional
137#LOCAL_32_BIT_ONLY := true
138#LOCAL_VENDOR_MODULE := true
139#
140#include $(BUILD_EXECUTABLE)
141
142endif