blob: 1cfed18ea1465fb399f9cf79452bdf0ce5a8a5b8 [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
14LOCAL_CFLAGS += -Wall -Werror
15
16LOCAL_SRC_FILES := \
17 sound_trigger_hw.c \
18 sound_trigger_platform.c \
19 st_session.c \
20 st_hw_session_lsm.c \
21 st_hw_session_gcs.c \
22 st_hw_common.c \
23 st_buffering.c
24
25ifeq ($(strip $(BOARD_SUPPORTS_QSTHW_API)),true)
26 LOCAL_CFLAGS += -DST_EXTN_ENABLED
27 LOCAL_SRC_FILES += st_extn/st_hw_extn.c
28 LOCAL_SRC_FILES += st_extn/st_hw_extn_intf.c
29endif
30
31ifeq ($(strip $(SOUND_TRIGGER_FEATURE_LPMA_ENABLED)),true)
32 LOCAL_CFLAGS += -DST_LMPA_EXTN_ENABLED
33 LOCAL_SRC_FILES += st_extn/st_hw_lpma_extn.c
34endif
35
36ifeq ($(strip $(AUDIO_FEATURE_ENABLED_KEEP_ALIVE)),true)
37 LOCAL_CFLAGS += -DUSE_KEEP_ALIVE
38endif
39
40ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE)),true)
41 LOCAL_CFLAGS += -DST_MULTI_STAGE_ENABLED
42 LOCAL_HEADER_LIBRARIES += capi_v2_headers
43 LOCAL_SRC_FILES += st_second_stage.c
44endif
45
46ifeq ($(call is-platform-sdk-version-at-least,29),true)
47 LOCAL_CFLAGS += -DST_SUPPORT_GET_MODEL_STATE
48endif
49
50ifeq ($(strip $(BOARD_SUPPORTS_SOUND_TRIGGER_CPU_AFFINITY_SET)),true)
51 LOCAL_CFLAGS += -DSOUND_TRIGGER_CPU_AFFINITY_SET -D_GNU_SOURCE
52endif
53
54ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GCOV)),true)
55LOCAL_CFLAGS += --coverage -fprofile-arcs -ftest-coverage
56LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage
57LOCAL_STATIC_LIBRARIES += libprofile_rt
58endif
59
60LOCAL_C_INCLUDES += \
61 external/tinyalsa/include \
62 external/expat/lib \
63 $(call include-path-for, audio-route) \
64 $(LOCAL_PATH)/st_extn
65ifeq ($(call is-platform-sdk-version-at-least,28),true) #Android P and above
66LOCAL_HEADER_LIBRARIES += libhardware_headers \
67 libsystem_headers
68endif
69
70LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/graphite-client/gcs
71LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio/graphite-client/osal
72LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
73LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
74LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
75ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
76 LOCAL_HEADER_LIBRARIES += audio_kernel_headers
77 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
78endif
79
80LOCAL_SHARED_LIBRARIES := \
81 liblog \
82 libcutils \
83 libtinyalsa \
84 libaudioroute \
85 libdl \
86 libexpat \
87 libhardware_legacy
88
89LOCAL_MODULE := sound_trigger.primary.$(TARGET_BOARD_PLATFORM)
90LOCAL_MODULE_RELATIVE_PATH := hw
91LOCAL_MODULE_OWNER := qti
92LOCAL_MODULE_TAGS := optional
93LOCAL_VENDOR_MODULE := true
94LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
95
96LOCAL_COPY_HEADERS_TO := mm-audio/sound_trigger
97LOCAL_COPY_HEADERS := sound_trigger_prop_intf.h
98
99include $(BUILD_SHARED_LIBRARY)
100
101#
102# to build sound_trigger_test executable
103# uncomment the lines below
104#
105#include $(CLEAR_VARS)
106#
107#LOCAL_SRC_FILES := sound_trigger_test.c
108#LOCAL_C_INCLUDES += \
109# system/core/include \
110# hardware/libhardware/include
111#
112#LOCAL_SHARED_LIBRARIES := \
113# libcutils \
114# libhardware
115#
116#LOCAL_MODULE := sound_trigger_test
117#LOCAL_MODULE_OWNER := qti
118#LOCAL_MODULE_TAGS := optional
119#LOCAL_32_BIT_ONLY := true
120#LOCAL_VENDOR_MODULE := true
121#
122#include $(BUILD_EXECUTABLE)
123
124endif