• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Platform Makefile
3#
4
5include $(CHRE_PREFIX)/external/flatbuffers/flatbuffers.mk
6
7# Common Compiler Flags ########################################################
8
9# Include paths.
10COMMON_CFLAGS += -Iplatform/include
11
12# SLPI-specific Compiler Flags #################################################
13
14# Include paths.
15SLPI_CFLAGS += -I$(SLPI_PREFIX)/build/ms
16SLPI_CFLAGS += -I$(SLPI_PREFIX)/build/cust
17SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/debugtools
18SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/services
19SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/kernel/devcfg
20SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/kernel/qurt
21SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/dal
22SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/mproc
23SLPI_CFLAGS += -I$(SLPI_PREFIX)/core/api/systemdrivers
24SLPI_CFLAGS += -I$(SLPI_PREFIX)/platform/inc
25SLPI_CFLAGS += -I$(SLPI_PREFIX)/platform/inc/HAP
26SLPI_CFLAGS += -I$(SLPI_PREFIX)/platform/inc/a1std
27SLPI_CFLAGS += -I$(SLPI_PREFIX)/platform/inc/stddef
28SLPI_CFLAGS += -I$(SLPI_PREFIX)/platform/rtld/inc
29
30SLPI_CFLAGS += -Iplatform/shared/include
31SLPI_CFLAGS += -Iplatform/slpi/include
32
33# We use FlatBuffers in the SLPI platform layer
34SLPI_CFLAGS += $(FLATBUFFERS_CFLAGS)
35
36# SLPI/SEE-specific Compiler Flags #############################################
37
38# Include paths.
39SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/chre/chre/src/system/chre/platform/slpi
40SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/core/api/kernel/libstd/stringl
41SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/qmimsgs/common/api
42SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc_api/pb
43SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc/framework/cm/inc
44SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc/goog/api
45SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc/inc
46SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc/inc/internal
47SLPI_SEE_CFLAGS += -I$(SLPI_PREFIX)/ssc/inc/utils/nanopb
48
49SLPI_SEE_CFLAGS += -Iplatform/slpi/see/include
50
51SLPI_SEE_CFLAGS += -DCHRE_SLPI_SEE
52
53# Needed to define __SIZEOF_ATTR_THREAD in sns_osa_thread.h, included in
54# sns_memmgr.h.
55SLPI_SEE_CFLAGS += -DSSC_TARGET_HEXAGON
56
57# Defined in slpi_proc/ssc/build/ssc.scons
58SLPI_SEE_CFLAGS += -DPB_FIELD_16BIT
59
60ifeq ($(IMPORT_CHRE_UTILS), true)
61SLPI_SEE_CFLAGS += -DIMPORT_CHRE_UTILS
62endif
63
64# Enable accel calibration and ASH debug dump by default unless overridden
65# explicitly by the environment.
66ifneq ($(CHRE_ENABLE_ACCEL_CAL), false)
67SLPI_SEE_CFLAGS += -DCHRE_ENABLE_ACCEL_CAL
68endif
69
70ifneq ($(CHRE_ENABLE_ASH_DEBUG_DUMP), false)
71SLPI_SEE_CFLAGS += -DCHRE_ENABLE_ASH_DEBUG_DUMP
72endif
73
74# SLPI/QSH-specific Compiler Flags #############################################
75
76# Include paths.
77SLPI_QSH_CFLAGS += -I$(SLPI_PREFIX)/config/cust
78SLPI_QSH_CFLAGS += -I$(SLPI_PREFIX)/qsh/qsh_nanoapp/inc
79SLPI_QSH_CFLAGS += -Iplatform/slpi/see/include
80
81ifeq ($(CHRE_USE_BUFFERED_LOGGING), true)
82SLPI_QSH_CFLAGS += -DCHRE_USE_BUFFERED_LOGGING
83endif
84
85# Define CHRE_SLPI_SEE for the few components that are still shared between QSH
86# and SEE.
87SLPI_QSH_CFLAGS += -DCHRE_SLPI_SEE
88
89# SLPI-specific Source Files ###################################################
90
91SLPI_SRCS += platform/shared/assert.cc
92SLPI_SRCS += platform/shared/chre_api_audio.cc
93SLPI_SRCS += platform/shared/chre_api_core.cc
94SLPI_SRCS += platform/shared/chre_api_gnss.cc
95SLPI_SRCS += platform/shared/chre_api_re.cc
96SLPI_SRCS += platform/shared/chre_api_user_settings.cc
97SLPI_SRCS += platform/shared/chre_api_version.cc
98SLPI_SRCS += platform/shared/chre_api_wifi.cc
99SLPI_SRCS += platform/shared/chre_api_wwan.cc
100SLPI_SRCS += platform/shared/host_protocol_chre.cc
101SLPI_SRCS += platform/shared/host_protocol_common.cc
102SLPI_SRCS += platform/shared/memory_manager.cc
103SLPI_SRCS += platform/shared/nanoapp_load_manager.cc
104SLPI_SRCS += platform/shared/nanoapp/nanoapp_dso_util.cc
105SLPI_SRCS += platform/shared/pal_system_api.cc
106SLPI_SRCS += platform/shared/platform_debug_dump_manager.cc
107SLPI_SRCS += platform/shared/pw_tokenized_log.cc
108SLPI_SRCS += platform/shared/system_time.cc
109SLPI_SRCS += platform/shared/version.cc
110SLPI_SRCS += platform/slpi/chre_api_re.cc
111SLPI_SRCS += platform/slpi/fatal_error.cc
112SLPI_SRCS += platform/slpi/host_link.cc
113SLPI_SRCS += platform/slpi/init.cc
114SLPI_SRCS += platform/slpi/memory.cc
115SLPI_SRCS += platform/slpi/memory_manager.cc
116SLPI_SRCS += platform/slpi/platform_nanoapp.cc
117SLPI_SRCS += platform/slpi/platform_pal.cc
118SLPI_SRCS += platform/slpi/platform_sensor_type_helpers.cc
119SLPI_SRCS += platform/slpi/system_time.cc
120SLPI_SRCS += platform/slpi/system_time_util.cc
121SLPI_SRCS += platform/slpi/system_timer.cc
122
123# Optional audio support.
124ifeq ($(CHRE_AUDIO_SUPPORT_ENABLED), true)
125SLPI_SRCS += platform/slpi/platform_audio.cc
126endif
127
128# Optional GNSS support.
129ifeq ($(CHRE_GNSS_SUPPORT_ENABLED), true)
130SLPI_SRCS += platform/shared/platform_gnss.cc
131endif
132
133# Optional Wi-Fi support.
134ifeq ($(CHRE_WIFI_SUPPORT_ENABLED), true)
135SLPI_SRCS += platform/shared/platform_wifi.cc
136endif
137
138# Optional WWAN support.
139ifeq ($(CHRE_WWAN_SUPPORT_ENABLED), true)
140SLPI_SRCS += platform/shared/platform_wwan.cc
141endif
142
143# SLPI/SEE-specific Source Files ###############################################
144
145# Optional sensors support.
146ifeq ($(CHRE_SENSORS_SUPPORT_ENABLED), true)
147SLPI_SEE_SRCS += platform/slpi/see/platform_sensor.cc
148SLPI_SEE_SRCS += platform/slpi/see/platform_sensor_manager.cc
149ifneq ($(IMPORT_CHRE_UTILS), true)
150SLPI_SEE_SRCS += platform/slpi/see/see_cal_helper.cc
151SLPI_SEE_SRCS += platform/slpi/see/see_helper.cc
152endif
153
154SLPI_SEE_SRCS += platform/shared/chre_api_sensor.cc
155SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_client.pb.c
156SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_suid.pb.c
157SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_cal.pb.c
158SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_physical_sensor_test.pb.c
159SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_proximity.pb.c
160SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_remote_proc_state.pb.c
161SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_resampler.pb.c
162SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_std.pb.c
163SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_std_sensor.pb.c
164SLPI_SEE_SRCS += $(SLPI_PREFIX)/ssc_api/pb/sns_std_type.pb.c
165
166SLPI_SEE_QSK_SRCS += $(SLPI_PREFIX)/chre/chre/src/system/chre/platform/slpi/sns_qmi_client_alt.c
167SLPI_SEE_QMI_SRCS += $(SLPI_PREFIX)/chre/chre/src/system/chre/platform/slpi/sns_qmi_client.c
168endif
169
170SLPI_SEE_SRCS += platform/slpi/see/power_control_manager.cc
171
172ifneq ($(IMPORT_CHRE_UTILS), true)
173SLPI_SEE_SRCS += platform/slpi/see/island_vote_client.cc
174endif
175
176# SLPI/QSH-specific Source Files ###############################################
177
178SLPI_QSH_SRCS += platform/slpi/see/island_vote_client.cc
179SLPI_QSH_SRCS += platform/slpi/see/power_control_manager.cc
180SLPI_QSH_SRCS += platform/slpi/qsh/qsh_proto_shim.cc
181
182ifeq ($(CHRE_USE_BUFFERED_LOGGING), true)
183SLPI_QSH_SRCS += platform/shared/log_buffer.cc
184SLPI_QSH_SRCS += platform/shared/log_buffer_manager.cc
185SLPI_QSH_SRCS += platform/slpi/log_buffer_manager.cc
186endif
187
188
189# Simulator-specific Compiler Flags ############################################
190
191SIM_CFLAGS += -I$(CHRE_PREFIX)/platform/shared/include
192SIM_CFLAGS += -Iplatform/linux/sim/include
193
194# Simulator-specific Source Files ##############################################
195
196SIM_SRCS += platform/linux/chre_api_re.cc
197SIM_SRCS += platform/linux/context.cc
198SIM_SRCS += platform/linux/fatal_error.cc
199SIM_SRCS += platform/linux/host_link.cc
200SIM_SRCS += platform/linux/memory.cc
201SIM_SRCS += platform/linux/memory_manager.cc
202SIM_SRCS += platform/linux/platform_debug_dump_manager.cc
203SIM_SRCS += platform/linux/platform_log.cc
204SIM_SRCS += platform/linux/platform_pal.cc
205SIM_SRCS += platform/linux/platform_sensor.cc
206SIM_SRCS += platform/linux/platform_sensor_type_helpers.cc
207SIM_SRCS += platform/linux/power_control_manager.cc
208SIM_SRCS += platform/linux/system_time.cc
209SIM_SRCS += platform/linux/system_timer.cc
210SIM_SRCS += platform/linux/platform_nanoapp.cc
211SIM_SRCS += platform/linux/platform_sensor.cc
212SIM_SRCS += platform/shared/chre_api_audio.cc
213SIM_SRCS += platform/shared/chre_api_ble.cc
214SIM_SRCS += platform/shared/chre_api_core.cc
215SIM_SRCS += platform/shared/chre_api_gnss.cc
216SIM_SRCS += platform/shared/chre_api_re.cc
217SIM_SRCS += platform/shared/chre_api_sensor.cc
218SIM_SRCS += platform/shared/chre_api_user_settings.cc
219SIM_SRCS += platform/shared/chre_api_version.cc
220SIM_SRCS += platform/shared/chre_api_wifi.cc
221SIM_SRCS += platform/shared/chre_api_wwan.cc
222SIM_SRCS += platform/shared/memory_manager.cc
223SIM_SRCS += platform/shared/nanoapp/nanoapp_dso_util.cc
224SIM_SRCS += platform/shared/pal_system_api.cc
225SIM_SRCS += platform/shared/system_time.cc
226SIM_SRCS += platform/shared/version.cc
227
228# Optional audio support.
229ifeq ($(CHRE_AUDIO_SUPPORT_ENABLED), true)
230SIM_SRCS += platform/linux/pal_audio.cc
231endif
232
233# Optional BLE support.
234ifeq ($(CHRE_BLE_SUPPORT_ENABLED), true)
235SIM_SRCS += platform/linux/pal_ble.cc
236SIM_SRCS += platform/shared/platform_ble.cc
237endif
238
239# Optional GNSS support.
240ifeq ($(CHRE_GNSS_SUPPORT_ENABLED), true)
241SIM_SRCS += platform/linux/pal_gnss.cc
242SIM_SRCS += platform/shared/platform_gnss.cc
243endif
244
245# Optional sensor support.
246ifeq ($(CHRE_SENSORS_SUPPORT_ENABLED), true)
247SIM_SRCS += platform/linux/pal_sensor.cc
248SIM_SRCS += platform/shared/platform_sensor_manager.cc
249endif
250
251# Optional Wi-Fi support.
252ifeq ($(CHRE_WIFI_SUPPORT_ENABLED), true)
253ifeq ($(CHRE_WIFI_NAN_SUPPORT_ENABLED), true)
254SIM_SRCS += platform/linux/pal_nan.cc
255endif
256SIM_SRCS += platform/linux/pal_wifi.cc
257SIM_SRCS += platform/shared/platform_wifi.cc
258endif
259
260# Optional WWAN support.
261ifeq ($(CHRE_WWAN_SUPPORT_ENABLED), true)
262SIM_SRCS += platform/linux/pal_wwan.cc
263SIM_SRCS += platform/shared/platform_wwan.cc
264endif
265
266# Linux-specific Compiler Flags ################################################
267
268GOOGLE_X86_LINUX_CFLAGS += -Iplatform/linux/include
269
270# Linux-specific Source Files ##################################################
271
272GOOGLE_X86_LINUX_SRCS += platform/linux/init.cc
273GOOGLE_X86_LINUX_SRCS += platform/linux/assert.cc
274
275# Optional audio support.
276ifeq ($(CHRE_AUDIO_SUPPORT_ENABLED), true)
277GOOGLE_X86_LINUX_SRCS += platform/linux/sim/audio_source.cc
278GOOGLE_X86_LINUX_SRCS += platform/linux/sim/platform_audio.cc
279endif
280
281# Optional WiFi NAN support
282ifeq ($(CHRE_WIFI_NAN_SUPPORT_ENABLED), true)
283GOOGLE_X86_LINUX_SRCS += platform/linux/pal_nan.cc
284endif
285
286# Android-specific Compiler Flags ##############################################
287
288# Add the Android include search path for Android-specific header files.
289GOOGLE_ARM64_ANDROID_CFLAGS += -Iplatform/android/include
290
291# Add in host sources to allow the executable to both be a socket server and
292# CHRE implementation.
293GOOGLE_ARM64_ANDROID_CFLAGS += -I$(ANDROID_BUILD_TOP)/system/libbase/include
294GOOGLE_ARM64_ANDROID_CFLAGS += -I$(ANDROID_BUILD_TOP)/system/core/libcutils/include
295GOOGLE_ARM64_ANDROID_CFLAGS += -I$(ANDROID_BUILD_TOP)/system/core/libutils/include
296GOOGLE_ARM64_ANDROID_CFLAGS += -I$(ANDROID_BUILD_TOP)/system/logging/liblog/include
297GOOGLE_ARM64_ANDROID_CFLAGS += -Ihost/common/include
298
299# Also add the linux sources to fall back to the default Linux implementation.
300GOOGLE_ARM64_ANDROID_CFLAGS += -Iplatform/linux/include
301
302# We use FlatBuffers in the Android simulator
303GOOGLE_ARM64_ANDROID_CFLAGS += -I$(FLATBUFFERS_PATH)/include
304
305# Android-specific Source Files ################################################
306
307ANDROID_CUTILS_TOP = $(ANDROID_BUILD_TOP)/system/core/libcutils
308ANDROID_LOG_TOP = $(ANDROID_BUILD_TOP)/system/logging/liblog
309
310GOOGLE_ARM64_ANDROID_SRCS += $(ANDROID_CUTILS_TOP)/sockets_unix.cpp
311GOOGLE_ARM64_ANDROID_SRCS += $(ANDROID_CUTILS_TOP)/android_get_control_file.cpp
312GOOGLE_ARM64_ANDROID_SRCS += $(ANDROID_CUTILS_TOP)/socket_local_server_unix.cpp
313GOOGLE_ARM64_ANDROID_SRCS += $(ANDROID_CUTILS_TOP)/socket_local_client_unix.cpp
314GOOGLE_ARM64_ANDROID_SRCS += $(ANDROID_LOG_TOP)/logd_reader.c
315
316GOOGLE_ARM64_ANDROID_SRCS += platform/android/init.cc
317GOOGLE_ARM64_ANDROID_SRCS += platform/android/host_link.cc
318GOOGLE_ARM64_ANDROID_SRCS += platform/shared/host_protocol_common.cc
319GOOGLE_ARM64_ANDROID_SRCS += host/common/host_protocol_host.cc
320GOOGLE_ARM64_ANDROID_SRCS += host/common/socket_server.cc
321
322# Optional audio support.
323ifeq ($(CHRE_AUDIO_SUPPORT_ENABLED), true)
324GOOGLE_ARM64_ANDROID_SRCS += platform/android/platform_audio.cc
325endif
326
327# GoogleTest Compiler Flags ####################################################
328
329# The order here is important so that the googletest target prefers shared,
330# linux and then SLPI.
331GOOGLETEST_CFLAGS += -Iplatform/shared/include
332GOOGLETEST_CFLAGS += -Iplatform/linux/include
333GOOGLETEST_CFLAGS += -Iplatform/slpi/include
334
335# GoogleTest Source Files ######################################################
336
337GOOGLETEST_COMMON_SRCS += platform/linux/assert.cc
338GOOGLETEST_COMMON_SRCS += platform/linux/sim/audio_source.cc
339GOOGLETEST_COMMON_SRCS += platform/linux/sim/platform_audio.cc
340GOOGLETEST_COMMON_SRCS += platform/tests/log_buffer_test.cc
341GOOGLETEST_COMMON_SRCS += platform/shared/log_buffer.cc
342ifeq ($(CHRE_WIFI_NAN_SUPPORT_ENABLED), true)
343GOOGLETEST_COMMON_SRCS += platform/linux/pal_nan.cc
344endif
345