blob: 1d61930c57a933d81044013f4efce682078ab0b3 [file] [log] [blame]
Mike Kelly0e415132020-02-11 11:21:25 +00001#
2# Copyright © 2017 ARM Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6ANDROID_NN_DRIVER_LOCAL_PATH := $(call my-dir)
7LOCAL_PATH := $(ANDROID_NN_DRIVER_LOCAL_PATH)
8
9P_OR_LATER := 0
10Q_OR_LATER := 0
Kevin Mayec1e5b82020-02-26 17:00:39 +000011R_OR_LATER := 0
Sadik Armagan188675f2021-02-12 17:16:42 +000012S_OR_LATER := 0
Kevin May157f8f42020-06-02 14:50:01 +010013ANDROID_R := 0
Sadik Armagan188675f2021-02-12 17:16:42 +000014ANDROID_S := 0
Mike Kelly0e415132020-02-11 11:21:25 +000015
16ifeq ($(PLATFORM_VERSION),9)
17P_OR_LATER := 1
18endif # PLATFORM_VERSION == 9
19ifeq ($(PLATFORM_VERSION),P)
20P_OR_LATER := 1
21endif # PLATFORM_VERSION == P
22
23ifeq ($(PLATFORM_VERSION),10)
24P_OR_LATER := 1
25Q_OR_LATER := 1
26endif # PLATFORM_VERSION == 10
27ifeq ($(PLATFORM_VERSION),Q)
28P_OR_LATER := 1
29Q_OR_LATER := 1
30endif # PLATFORM_VERSION == Q
31
Kevin Mayec1e5b82020-02-26 17:00:39 +000032ifeq ($(PLATFORM_VERSION),R)
33P_OR_LATER := 1
34Q_OR_LATER := 1
35R_OR_LATER := 1
Kevin May157f8f42020-06-02 14:50:01 +010036ANDROID_R := 1
Kevin Mayec1e5b82020-02-26 17:00:39 +000037endif # PLATFORM_VERSION == R
38
Kevin May157f8f42020-06-02 14:50:01 +010039ifeq ($(PLATFORM_VERSION),11)
40P_OR_LATER := 1
41Q_OR_LATER := 1
42R_OR_LATER := 1
43ANDROID_R := 1
44endif # PLATFORM_VERSION == 11
45
Sadik Armagan188675f2021-02-12 17:16:42 +000046ifeq ($(PLATFORM_VERSION),S)
47P_OR_LATER := 1
48Q_OR_LATER := 1
49R_OR_LATER := 1
50S_OR_LATER := 1
51ANDROID_R := 0
52ANDROID_S := 1
53endif # PLATFORM_VERSION == S
54
55ifeq ($(PLATFORM_VERSION),12)
56P_OR_LATER := 1
57Q_OR_LATER := 1
58R_OR_LATER := 1
59S_OR_LATER := 1
60ANDROID_R := 0
61ANDROID_S := 1
62endif # PLATFORM_VERSION == 12
63
Mike Kelly0e415132020-02-11 11:21:25 +000064CPP_VERSION := c++14
65
66ifeq ($(Q_OR_LATER),1)
67CPP_VERSION := c++17
68endif
69
70# Configure these paths if you move the source or Khronos headers
71ARMNN_HEADER_PATH := $(LOCAL_PATH)/armnn/include
Zingo Andersenf65b2662021-10-27 07:04:11 +020072ARMNN_BACKEND_MAKEFILE_LOCAL_PATHS := $(wildcard $(LOCAL_PATH)/armnn/src/backends/*/backend.mk)
73ARMNN_BACKEND_MAKEFILE_PATHS := $(subst $(LOCAL_PATH),,$(ARMNN_BACKEND_MAKEFILE_LOCAL_PATHS))
74ARMNN_BACKEND_MAKEFILE_DIRS := $(subst /backend.mk,,$(ARMNN_BACKEND_MAKEFILE_PATHS))
Colm Donelan08d9a1c2020-09-09 17:56:55 +010075ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/armnn/third-party
Mike Kelly0e415132020-02-11 11:21:25 +000076ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/armnn/src/armnnUtils
Colm Donelan0cc61782020-10-06 21:02:21 +010077ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/armnn/third-party
Mike Kelly0e415132020-02-11 11:21:25 +000078OPENCL_HEADER_PATH := $(LOCAL_PATH)/clframework/include
79NN_HEADER_PATH := $(LOCAL_PATH)/../../../frameworks/ml/nn/runtime/include
Sadik Armagan188675f2021-02-12 17:16:42 +000080ifeq ($(S_OR_LATER),1)
81NN_HEADER_PATH := $(LOCAL_PATH)/../../../packages/modules/NeuralNetworks/runtime/include
82endif
Mike Kelly0e415132020-02-11 11:21:25 +000083
84# Variables to control CL/NEON/reference backend support
85# Set them to '0' to disable support for a specific backend
86ARMNN_COMPUTE_CL_ENABLED := 1
87ARMNN_COMPUTE_NEON_ENABLED := 1
88ARMNN_REF_ENABLED := 1
FrancisMurtagh594b2832020-06-15 17:17:56 +010089ARMNN_ETHOSN_ENABLED := 1
Mike Kelly0e415132020-02-11 11:21:25 +000090
91ifeq ($(ARMNN_COMPUTE_CL_ENABLE),0)
92ARMNN_COMPUTE_CL_ENABLED := 0
93endif
94
95ifeq ($(ARMNN_COMPUTE_NEON_ENABLE),0)
96ARMNN_COMPUTE_NEON_ENABLED := 0
97endif
98
99ifeq ($(ARMNN_REF_ENABLE),0)
100ARMNN_REF_ENABLED := 0
101endif
102
FrancisMurtagh594b2832020-06-15 17:17:56 +0100103ifeq ($(ARMNN_ETHOSN_ENABLE),0)
104ARMNN_ETHOSN_ENABLED := 0
105endif
106
alered017c395b22020-04-03 15:37:24 +0100107# Variable to control inclusion of libOpenCL shared library
108ARMNN_INCLUDE_LIBOPENCL := $(ARMNN_COMPUTE_CL_ENABLED)
109ifeq ($(ARMNN_LIBOPENCL),0)
110ARMNN_INCLUDE_LIBOPENCL := 0
111endif
112
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100113# Variable to control retire rate of priority queue
114RETIRE_RATE := 3
115
Zingo Andersenf65b2662021-10-27 07:04:11 +0200116# Placeholder to hold all backend link files.
117ARMNN_BACKEND_STATIC_LIBRARIES :=
118ARMNN_BACKEND_SHARED_LIBRARIES :=
119
120# Iterate through the Arm NN backends and specific include paths, include them into the
121# current makefile and append the linkfiles held by
122# the optional BACKEND_STATIC_LIBRARIES and optional BACKEND_SHARED_LIBRARIES variable
123# (included from the given makefile) to
124# the ARMNN_BACKEND_STATIC_LIBRARIES and ARMNN_BACKEND_SHARED_LIBRARIES lists
125
126$(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS),\
127 $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\
128 $(eval ARMNN_BACKEND_STATIC_LIBRARIES += $(BACKEND_STATIC_LIBRARIES)))
129
130$(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS),\
131 $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\
132 $(eval ARMNN_BACKEND_SHARED_LIBRARIES += $(BACKEND_SHARED_LIBRARIES)))
133
Mike Kelly0e415132020-02-11 11:21:25 +0000134#######################
135# libarmnn-driver@1.0 #
136#######################
137include $(CLEAR_VARS)
138
139LOCAL_MODULE := libarmnn-driver@1.0
140ifeq ($(Q_OR_LATER),1)
141# "eng" is deprecated in Android Q
142LOCAL_MODULE_TAGS := optional
143else
144LOCAL_MODULE_TAGS := eng optional
145endif
146LOCAL_ARM_MODE := arm
147LOCAL_PROPRIETARY_MODULE := true
148# Mark source files as dependent on Android.mk
149LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
150
151LOCAL_C_INCLUDES := \
152 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100153 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000154 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100155 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000156 $(OPENCL_HEADER_PATH) \
157 $(NN_HEADER_PATH)
158
159LOCAL_CFLAGS := \
160 -std=$(CPP_VERSION) \
161 -fexceptions \
162 -Werror \
163 -Wno-format-security
164
Kevin Mayec1e5b82020-02-26 17:00:39 +0000165# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100166ifeq ($(ANDROID_R),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000167LOCAL_CFLAGS+= \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000168 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100169endif
Mike Kelly0e415132020-02-11 11:21:25 +0000170
Sadik Armagan188675f2021-02-12 17:16:42 +0000171ifeq ($(ANDROID_S),1)
172LOCAL_CFLAGS+= \
173 -DARMNN_ANDROID_S
174endif
175
Mike Kelly0e415132020-02-11 11:21:25 +0000176ifeq ($(ARMNN_DRIVER_DEBUG),1)
177LOCAL_CFLAGS+= \
178 -UNDEBUG
179endif # ARMNN_DRIVER_DEBUG == 1
180
Mike Kelly0e415132020-02-11 11:21:25 +0000181ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
182LOCAL_CFLAGS += \
183 -DARMCOMPUTECL_ENABLED
184endif # ARMNN_COMPUTE_CL_ENABLED == 1
185
186ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
187LOCAL_CFLAGS += \
188 -DARMCOMPUTENEON_ENABLED
189endif # ARMNN_COMPUTE_NEON_ENABLED == 1
190
191ifeq ($(ARMNN_REF_ENABLED),1)
192LOCAL_CFLAGS += \
193 -DARMNNREF_ENABLED
194endif # ARMNN_REF_ENABLED == 1
195
FrancisMurtagh594b2832020-06-15 17:17:56 +0100196ifeq ($(ARMNN_ETHOSN_ENABLED),1)
197LOCAL_CFLAGS += \
198 -DARMNNETHOSN_ENABLED
199endif # ARMNN_ETHOSN_ENABLED == 1
200
Mike Kelly0e415132020-02-11 11:21:25 +0000201LOCAL_SRC_FILES := \
202 1.0/ArmnnDriverImpl.cpp \
203 1.0/HalPolicy.cpp \
204 ArmnnDriverImpl.cpp \
205 DriverOptions.cpp \
206 ArmnnDevice.cpp \
207 ArmnnPreparedModel.cpp \
208 ModelToINetworkConverter.cpp \
209 RequestThread.cpp \
210 Utils.cpp \
211 ConversionUtils.cpp
212
213LOCAL_STATIC_LIBRARIES := \
214 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000215 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000216 arm_compute_library
217
218LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
219
220LOCAL_SHARED_LIBRARIES := \
221 libbase \
222 libhidlbase \
223 libhidltransport \
224 libhidlmemory \
225 liblog \
226 libutils \
227 android.hardware.neuralnetworks@1.0 \
228 android.hidl.allocator@1.0 \
229 android.hidl.memory@1.0
230
231ifeq ($(P_OR_LATER),1)
232# Required to build the 1.0 version of the NN Driver on Android P and later versions,
233# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
234LOCAL_SHARED_LIBRARIES+= \
235 android.hardware.neuralnetworks@1.1
236endif # PLATFORM_VERSION == 9
237
238ifeq ($(Q_OR_LATER),1)
239LOCAL_SHARED_LIBRARIES+= \
240 libnativewindow \
241 libui \
242 libfmq \
243 libcutils \
244 android.hardware.neuralnetworks@1.2
Kevin Mayec1e5b82020-02-26 17:00:39 +0000245endif # Q or later
246
247ifeq ($(R_OR_LATER),1)
248LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100249 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000250 android.hardware.neuralnetworks@1.3
251endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000252
alered01dbae2472020-04-07 12:31:10 +0100253ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000254LOCAL_SHARED_LIBRARIES+= \
255 libOpenCL
256endif
257
258include $(BUILD_STATIC_LIBRARY)
259
260ifeq ($(P_OR_LATER),1)
261# The following target is available starting from Android P
262
263#######################
264# libarmnn-driver@1.1 #
265#######################
266include $(CLEAR_VARS)
267
268LOCAL_MODULE := libarmnn-driver@1.1
269ifeq ($(Q_OR_LATER),1)
270# "eng" is deprecated in Android Q
271LOCAL_MODULE_TAGS := optional
272else
273LOCAL_MODULE_TAGS := eng optional
274endif
275#PRODUCT_PACKAGES_ENG := libarmnn-driver@1.1
276LOCAL_ARM_MODE := arm
277LOCAL_PROPRIETARY_MODULE := true
278# Mark source files as dependent on Android.mk
279LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
280
281LOCAL_C_INCLUDES := \
282 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100283 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000284 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100285 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000286 $(OPENCL_HEADER_PATH) \
287 $(NN_HEADER_PATH)
288
289LOCAL_CFLAGS := \
290 -std=$(CPP_VERSION) \
291 -fexceptions \
292 -Werror \
Finn Williamsf769f292021-06-25 12:53:09 +0100293 -Wall \
294 -Wextra \
295 -Wno-unused-function \
Mike Kelly0e415132020-02-11 11:21:25 +0000296 -Wno-format-security \
Mike Kelly0e415132020-02-11 11:21:25 +0000297 -DARMNN_ANDROID_NN_V1_1
298
299ifeq ($(ARMNN_DRIVER_DEBUG),1)
300LOCAL_CFLAGS+= \
301 -UNDEBUG
302endif # ARMNN_DRIVER_DEBUG == 1
303
Kevin Mayec1e5b82020-02-26 17:00:39 +0000304# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100305ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000306LOCAL_CFLAGS+= \
307 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100308endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000309
Sadik Armagan188675f2021-02-12 17:16:42 +0000310ifeq ($(ANDROID_S),1)
311LOCAL_CFLAGS+= \
312 -DARMNN_ANDROID_S
313endif
314
Mike Kelly0e415132020-02-11 11:21:25 +0000315ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
316LOCAL_CFLAGS += \
317 -DARMCOMPUTECL_ENABLED
318endif # ARMNN_COMPUTE_CL_ENABLED == 1
319
320ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
321LOCAL_CFLAGS += \
322 -DARMCOMPUTENEON_ENABLED
323endif # ARMNN_COMPUTE_NEON_ENABLED == 1
324
325ifeq ($(ARMNN_REF_ENABLED),1)
326LOCAL_CFLAGS += \
327 -DARMNNREF_ENABLED
328endif # ARMNN_REF_ENABLED == 1
329
FrancisMurtagh594b2832020-06-15 17:17:56 +0100330ifeq ($(ARMNN_ETHOSN_ENABLED),1)
331LOCAL_CFLAGS += \
332 -DARMNNETHOSN_ENABLED
333endif # ARMNN_ETHOSN_ENABLED == 1
334
Mike Kelly0e415132020-02-11 11:21:25 +0000335LOCAL_SRC_FILES := \
336 1.0/ArmnnDriverImpl.cpp \
337 1.0/HalPolicy.cpp \
338 1.1/ArmnnDriverImpl.cpp \
339 1.1/HalPolicy.cpp \
340 ArmnnDriverImpl.cpp \
341 DriverOptions.cpp \
342 ArmnnDevice.cpp \
343 ArmnnPreparedModel.cpp \
344 ModelToINetworkConverter.cpp \
345 RequestThread.cpp \
346 Utils.cpp \
347 ConversionUtils.cpp
348
349LOCAL_STATIC_LIBRARIES := \
350 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000351 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000352 arm_compute_library
353
354LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
355
356LOCAL_SHARED_LIBRARIES := \
357 libbase \
358 libhidlbase \
359 libhidltransport \
360 libhidlmemory \
361 liblog \
362 libutils \
363 android.hardware.neuralnetworks@1.0 \
364 android.hardware.neuralnetworks@1.1 \
365 android.hidl.allocator@1.0 \
366 android.hidl.memory@1.0
367
368ifeq ($(Q_OR_LATER),1)
369LOCAL_SHARED_LIBRARIES+= \
370 libnativewindow \
371 libui \
372 libfmq \
373 libcutils \
374 android.hardware.neuralnetworks@1.2
375endif # PLATFORM_VERSION == Q
376
Kevin Mayec1e5b82020-02-26 17:00:39 +0000377ifeq ($(R_OR_LATER),1)
378LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100379 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000380 android.hardware.neuralnetworks@1.3
381endif # R or later
382
alered017c395b22020-04-03 15:37:24 +0100383ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000384LOCAL_SHARED_LIBRARIES+= \
385 libOpenCL
386endif
387
388include $(BUILD_STATIC_LIBRARY)
389
390endif # PLATFORM_VERSION == 9
391
392ifeq ($(Q_OR_LATER),1)
393# The following target is available starting from Android Q
394
395#######################
396# libarmnn-driver@1.2 #
397#######################
398include $(CLEAR_VARS)
399
400LOCAL_MODULE := libarmnn-driver@1.2
401LOCAL_MODULE_TAGS := optional
402LOCAL_ARM_MODE := arm
403LOCAL_PROPRIETARY_MODULE := true
404# Mark source files as dependent on Android.mk
405LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
406
407LOCAL_C_INCLUDES := \
408 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100409 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000410 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100411 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000412 $(OPENCL_HEADER_PATH) \
413 $(NN_HEADER_PATH)
414
415LOCAL_CFLAGS := \
416 -std=$(CPP_VERSION) \
417 -fexceptions \
418 -Werror \
Finn Williamsf769f292021-06-25 12:53:09 +0100419 -Wall \
420 -Wextra \
421 -Wno-unused-function \
Mike Kelly0e415132020-02-11 11:21:25 +0000422 -Wno-format-security \
Mike Kelly0e415132020-02-11 11:21:25 +0000423 -DARMNN_ANDROID_NN_V1_2
424
425ifeq ($(ARMNN_DRIVER_DEBUG),1)
426LOCAL_CFLAGS+= \
427 -UNDEBUG
428endif # ARMNN_DRIVER_DEBUG == 1
429
Kevin Mayec1e5b82020-02-26 17:00:39 +0000430# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100431ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000432LOCAL_CFLAGS+= \
433 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100434endif
Mike Kelly0e415132020-02-11 11:21:25 +0000435
Sadik Armagan188675f2021-02-12 17:16:42 +0000436ifeq ($(ANDROID_S),1)
437LOCAL_CFLAGS+= \
438 -DARMNN_ANDROID_S
439endif
440
Mike Kelly0e415132020-02-11 11:21:25 +0000441ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
442LOCAL_CFLAGS += \
443 -DARMCOMPUTECL_ENABLED
444endif # ARMNN_COMPUTE_CL_ENABLED == 1
445
446ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
447LOCAL_CFLAGS += \
448 -DARMCOMPUTENEON_ENABLED
449endif # ARMNN_COMPUTE_NEON_ENABLED == 1
450
451ifeq ($(ARMNN_REF_ENABLED),1)
452LOCAL_CFLAGS += \
453 -DARMNNREF_ENABLED
454endif # ARMNN_REF_ENABLED == 1
455
FrancisMurtagh594b2832020-06-15 17:17:56 +0100456ifeq ($(ARMNN_ETHOSN_ENABLED),1)
457LOCAL_CFLAGS += \
458 -DARMNNETHOSN_ENABLED
459endif # ARMNN_ETHOSN_ENABLED == 1
460
Mike Kelly0e415132020-02-11 11:21:25 +0000461LOCAL_SRC_FILES := \
462 1.0/ArmnnDriverImpl.cpp \
463 1.0/HalPolicy.cpp \
464 1.1/ArmnnDriverImpl.cpp \
465 1.1/HalPolicy.cpp \
466 1.2/ArmnnDriverImpl.cpp \
467 1.2/HalPolicy.cpp \
468 ArmnnDevice.cpp \
469 ArmnnDriverImpl.cpp \
470 ArmnnPreparedModel.cpp \
471 ArmnnPreparedModel_1_2.cpp \
472 ConversionUtils.cpp \
473 DriverOptions.cpp \
474 ModelToINetworkConverter.cpp \
475 RequestThread.cpp \
476 Utils.cpp
477
478LOCAL_STATIC_LIBRARIES := \
479 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000480 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000481 arm_compute_library
482
483LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
484
485LOCAL_SHARED_LIBRARIES := \
486 libbase \
487 libhidlbase \
488 libhidltransport \
489 libhidlmemory \
490 liblog \
491 libutils \
492 libnativewindow \
493 libui \
494 libfmq \
495 libcutils \
496 android.hidl.allocator@1.0 \
497 android.hidl.memory@1.0 \
498 android.hardware.neuralnetworks@1.0 \
499 android.hardware.neuralnetworks@1.1 \
500 android.hardware.neuralnetworks@1.2
501
Kevin Mayec1e5b82020-02-26 17:00:39 +0000502ifeq ($(R_OR_LATER),1)
503LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100504 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000505 android.hardware.neuralnetworks@1.3
506endif # R or later
507
alered017c395b22020-04-03 15:37:24 +0100508ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000509LOCAL_SHARED_LIBRARIES+= \
510 libOpenCL
511endif
512
513include $(BUILD_STATIC_LIBRARY)
514
515endif # PLATFORM_VERSION == Q
516
Kevin May42477c12020-03-26 13:34:14 +0000517ifeq ($(R_OR_LATER),1)
518# The following target is available starting from Android R
519
520#######################
521# libarmnn-driver@1.3 #
522#######################
523include $(CLEAR_VARS)
524
525LOCAL_MODULE := libarmnn-driver@1.3
526LOCAL_MODULE_TAGS := optional
527LOCAL_ARM_MODE := arm
528LOCAL_PROPRIETARY_MODULE := true
529# Mark source files as dependent on Android.mk
530LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
531
532LOCAL_C_INCLUDES := \
533 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100534 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000535 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100536 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000537 $(OPENCL_HEADER_PATH) \
538 $(NN_HEADER_PATH)
539
540LOCAL_CFLAGS := \
541 -std=$(CPP_VERSION) \
542 -fexceptions \
543 -Werror \
Finn Williamsf769f292021-06-25 12:53:09 +0100544 -Wall \
545 -Wextra \
546 -Wno-unused-function \
Kevin May42477c12020-03-26 13:34:14 +0000547 -Wno-format-security \
Kevin May42477c12020-03-26 13:34:14 +0000548 -DARMNN_ANDROID_NN_V1_3 \
Sadik Armagan188675f2021-02-12 17:16:42 +0000549
550ifeq ($(ANDROID_R),1)
551LOCAL_CFLAGS+= \
Kevin May42477c12020-03-26 13:34:14 +0000552 -DARMNN_ANDROID_R
Sadik Armagan188675f2021-02-12 17:16:42 +0000553endif
554
555ifeq ($(ANDROID_S),1)
556LOCAL_CFLAGS+= \
557 -DARMNN_ANDROID_S
558endif
Kevin May42477c12020-03-26 13:34:14 +0000559
560ifeq ($(ARMNN_DRIVER_DEBUG),1)
561LOCAL_CFLAGS+= \
562 -UNDEBUG
563endif # ARMNN_DRIVER_DEBUG == 1
564
565ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
566LOCAL_CFLAGS += \
567 -DARMCOMPUTECL_ENABLED
568endif # ARMNN_COMPUTE_CL_ENABLED == 1
569
570ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
571LOCAL_CFLAGS += \
572 -DARMCOMPUTENEON_ENABLED
573endif # ARMNN_COMPUTE_NEON_ENABLED == 1
574
575ifeq ($(ARMNN_REF_ENABLED),1)
576LOCAL_CFLAGS += \
577 -DARMNNREF_ENABLED
578endif # ARMNN_REF_ENABLED == 1
579
FrancisMurtagh594b2832020-06-15 17:17:56 +0100580ifeq ($(ARMNN_ETHOSN_ENABLED),1)
581LOCAL_CFLAGS += \
582 -DARMNNETHOSN_ENABLED
583endif # ARMNN_ETHOSN_ENABLED == 1
584
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100585LOCAL_CFLAGS += \
586 -DRETIRE_RATE=$(RETIRE_RATE)
587
Kevin May42477c12020-03-26 13:34:14 +0000588LOCAL_SRC_FILES := \
589 1.0/ArmnnDriverImpl.cpp \
590 1.0/HalPolicy.cpp \
591 1.1/ArmnnDriverImpl.cpp \
592 1.1/HalPolicy.cpp \
593 1.2/ArmnnDriverImpl.cpp \
594 1.2/HalPolicy.cpp \
595 1.3/ArmnnDriverImpl.cpp \
596 1.3/HalPolicy.cpp \
597 ArmnnDevice.cpp \
598 ArmnnDriverImpl.cpp \
599 ArmnnPreparedModel.cpp \
600 ArmnnPreparedModel_1_2.cpp \
601 ArmnnPreparedModel_1_3.cpp \
602 ConversionUtils.cpp \
603 DriverOptions.cpp \
604 ModelToINetworkConverter.cpp \
605 RequestThread.cpp \
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100606 RequestThread_1_3.cpp \
Kevin May42477c12020-03-26 13:34:14 +0000607 Utils.cpp
608
609LOCAL_STATIC_LIBRARIES := \
610 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000611 libflatbuffers-framework \
Kevin May42477c12020-03-26 13:34:14 +0000612 arm_compute_library
613
614LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
615
616LOCAL_SHARED_LIBRARIES := \
617 libbase \
618 libhidlbase \
619 libhidltransport \
620 libhidlmemory \
621 liblog \
622 libutils \
623 libnativewindow \
624 libui \
625 libfmq \
626 libcutils \
627 android.hidl.allocator@1.0 \
628 android.hidl.memory@1.0 \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100629 libsync \
Kevin May42477c12020-03-26 13:34:14 +0000630 android.hardware.neuralnetworks@1.0 \
631 android.hardware.neuralnetworks@1.1 \
632 android.hardware.neuralnetworks@1.2 \
633 android.hardware.neuralnetworks@1.3
634
alered017c395b22020-04-03 15:37:24 +0100635ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin May42477c12020-03-26 13:34:14 +0000636LOCAL_SHARED_LIBRARIES+= \
637 libOpenCL
638endif
639
640include $(BUILD_STATIC_LIBRARY)
641
642endif # PLATFORM_VERSION == R
643
Mike Kelly0e415132020-02-11 11:21:25 +0000644#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100645# android.hardware.neuralnetworks@1.0-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000646#####################################################
647include $(CLEAR_VARS)
648
Kevin Mayabc95d02020-05-15 15:34:03 +0100649LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-armnn
650LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000651ifeq ($(Q_OR_LATER),1)
652# "eng" is deprecated in Android Q
653LOCAL_MODULE_TAGS := optional
654else
655LOCAL_MODULE_TAGS := eng optional
656endif
657LOCAL_ARM_MODE := arm
658LOCAL_MODULE_RELATIVE_PATH := hw
659LOCAL_PROPRIETARY_MODULE := true
660# Mark source files as dependent on Android.mk
661LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
662
663LOCAL_C_INCLUDES := \
664 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100665 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000666 $(NN_HEADER_PATH)
667
668LOCAL_CFLAGS := \
669 -std=$(CPP_VERSION) \
670 -fexceptions
671
672ifeq ($(ARMNN_DRIVER_DEBUG),1)
673LOCAL_CFLAGS += \
674 -UNDEBUG
675endif # ARMNN_DRIVER_DEBUG == 1
676
Kevin Mayec1e5b82020-02-26 17:00:39 +0000677# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100678ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000679LOCAL_CFLAGS+= \
680 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100681endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000682
Sadik Armagan188675f2021-02-12 17:16:42 +0000683ifeq ($(ANDROID_S),1)
684LOCAL_CFLAGS+= \
685 -DARMNN_ANDROID_S
686endif
687
Mike Kelly0e415132020-02-11 11:21:25 +0000688LOCAL_SRC_FILES := \
689 service.cpp
690
691LOCAL_STATIC_LIBRARIES := \
692 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000693 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200694 arm_compute_library \
695 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000696
697LOCAL_WHOLE_STATIC_LIBRARIES := \
698 libarmnn-driver@1.0
699
700LOCAL_SHARED_LIBRARIES := \
701 libbase \
702 libhidlbase \
703 libhidltransport \
704 libhidlmemory \
705 libdl \
706 libhardware \
707 liblog \
708 libtextclassifier_hash \
709 libutils \
710 android.hardware.neuralnetworks@1.0 \
711 android.hidl.allocator@1.0 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200712 android.hidl.memory@1.0 \
713 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000714
715ifeq ($(P_OR_LATER),1)
716# Required to build the 1.0 version of the NN Driver on Android P and later versions,
717# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
718LOCAL_SHARED_LIBRARIES+= \
719 android.hardware.neuralnetworks@1.1
720endif # PLATFORM_VERSION == 9
Kevin Mayec1e5b82020-02-26 17:00:39 +0000721
Mike Kelly0e415132020-02-11 11:21:25 +0000722ifeq ($(Q_OR_LATER),1)
723LOCAL_SHARED_LIBRARIES+= \
724 libnativewindow \
725 libui \
726 libfmq \
727 libcutils \
728 android.hardware.neuralnetworks@1.2
729endif # PLATFORM_VERSION == Q
730
Kevin Mayec1e5b82020-02-26 17:00:39 +0000731ifeq ($(R_OR_LATER),1)
732LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100733 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000734 android.hardware.neuralnetworks@1.3
735endif # R or later
736
alered017c395b22020-04-03 15:37:24 +0100737ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000738LOCAL_SHARED_LIBRARIES+= \
739 libOpenCL
740endif
741
742include $(BUILD_EXECUTABLE)
743
744ifeq ($(P_OR_LATER),1)
745# The following target is available starting from Android P
746
747#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100748# android.hardware.neuralnetworks@1.1-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000749#####################################################
750include $(CLEAR_VARS)
751
Kevin Mayabc95d02020-05-15 15:34:03 +0100752LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-armnn
753LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000754ifeq ($(Q_OR_LATER),1)
755# "eng" is deprecated in Android Q
756LOCAL_MODULE_TAGS := optional
757else
758LOCAL_MODULE_TAGS := eng optional
759endif
760LOCAL_ARM_MODE := arm
761LOCAL_MODULE_RELATIVE_PATH := hw
762LOCAL_PROPRIETARY_MODULE := true
763# Mark source files as dependent on Android.mk
764LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
765
766LOCAL_C_INCLUDES := \
767 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100768 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000769 $(NN_HEADER_PATH)
770
771LOCAL_CFLAGS := \
772 -std=$(CPP_VERSION) \
773 -fexceptions \
774 -DARMNN_ANDROID_NN_V1_1
775
776ifeq ($(ARMNN_DRIVER_DEBUG),1)
777LOCAL_CFLAGS += \
778 -UNDEBUG
779endif # ARMNN_DRIVER_DEBUG == 1
780
Kevin Mayec1e5b82020-02-26 17:00:39 +0000781# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100782ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000783LOCAL_CFLAGS+= \
784 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100785endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000786
Sadik Armagan188675f2021-02-12 17:16:42 +0000787ifeq ($(ANDROID_S),1)
788LOCAL_CFLAGS+= \
789 -DARMNN_ANDROID_S
790endif
791
Mike Kelly0e415132020-02-11 11:21:25 +0000792LOCAL_SRC_FILES := \
793 service.cpp
794
795LOCAL_STATIC_LIBRARIES := \
796 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000797 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200798 arm_compute_library \
799 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000800
801LOCAL_WHOLE_STATIC_LIBRARIES := \
802 libarmnn-driver@1.1
803
804LOCAL_SHARED_LIBRARIES := \
805 libbase \
806 libhidlbase \
807 libhidltransport \
808 libhidlmemory \
809 libdl \
810 libhardware \
811 liblog \
812 libtextclassifier_hash \
813 libutils \
814 android.hardware.neuralnetworks@1.0 \
815 android.hardware.neuralnetworks@1.1 \
816 android.hidl.allocator@1.0 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200817 android.hidl.memory@1.0 \
818 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000819
820ifeq ($(Q_OR_LATER),1)
821LOCAL_SHARED_LIBRARIES+= \
822 libnativewindow \
823 libui \
824 libfmq \
825 libcutils \
826 android.hardware.neuralnetworks@1.2
827endif # PLATFORM_VERSION == Q
828
Kevin Mayec1e5b82020-02-26 17:00:39 +0000829ifeq ($(R_OR_LATER),1)
830LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100831 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000832 android.hardware.neuralnetworks@1.3
833endif # PLATFORM_VERSION == R
834
alered017c395b22020-04-03 15:37:24 +0100835ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000836LOCAL_SHARED_LIBRARIES+= \
837 libOpenCL
838endif
839
840include $(BUILD_EXECUTABLE)
841
842endif # PLATFORM_VERSION == 9
843
844ifeq ($(Q_OR_LATER),1)
845# The following target is available starting from Android Q
846
847#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100848# android.hardware.neuralnetworks@1.2-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000849#####################################################
850include $(CLEAR_VARS)
851
Kevin Mayabc95d02020-05-15 15:34:03 +0100852LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-armnn
853LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000854LOCAL_MODULE_TAGS := optional
855LOCAL_ARM_MODE := arm
856LOCAL_MODULE_RELATIVE_PATH := hw
857LOCAL_PROPRIETARY_MODULE := true
858# Mark source files as dependent on Android.mk
859LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
860
861LOCAL_C_INCLUDES := \
862 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100863 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000864 $(NN_HEADER_PATH)
865
866LOCAL_CFLAGS := \
867 -std=$(CPP_VERSION) \
868 -fexceptions \
869 -DARMNN_ANDROID_NN_V1_2 \
Mike Kelly0e415132020-02-11 11:21:25 +0000870
871ifeq ($(ARMNN_DRIVER_DEBUG),1)
872LOCAL_CFLAGS += \
873 -UNDEBUG
874endif # ARMNN_DRIVER_DEBUG == 1
875
Kevin Mayec1e5b82020-02-26 17:00:39 +0000876# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100877ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000878LOCAL_CFLAGS+= \
879 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100880endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000881
Sadik Armagan188675f2021-02-12 17:16:42 +0000882ifeq ($(ANDROID_S),1)
883LOCAL_CFLAGS+= \
884 -DARMNN_ANDROID_S
885endif
886
Mike Kelly0e415132020-02-11 11:21:25 +0000887LOCAL_SRC_FILES := \
888 service.cpp
889
890LOCAL_STATIC_LIBRARIES := \
891 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000892 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200893 arm_compute_library \
894 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000895
896LOCAL_WHOLE_STATIC_LIBRARIES := \
897 libarmnn-driver@1.2
898
899LOCAL_SHARED_LIBRARIES := \
900 libbase \
901 libhidlbase \
902 libhidltransport \
903 libhidlmemory \
904 libdl \
905 libhardware \
906 liblog \
907 libtextclassifier_hash \
908 libutils \
909 libnativewindow \
910 libui \
911 libfmq \
912 libcutils \
913 android.hidl.allocator@1.0 \
914 android.hidl.memory@1.0 \
915 android.hardware.neuralnetworks@1.0 \
916 android.hardware.neuralnetworks@1.1 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200917 android.hardware.neuralnetworks@1.2 \
918 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000919
Kevin Mayec1e5b82020-02-26 17:00:39 +0000920ifeq ($(R_OR_LATER),1)
921LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100922 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000923 android.hardware.neuralnetworks@1.3
924endif # R or later
925
alered017c395b22020-04-03 15:37:24 +0100926ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000927LOCAL_SHARED_LIBRARIES+= \
928 libOpenCL
929endif
930
931include $(BUILD_EXECUTABLE)
932
933endif # PLATFORM_VERSION == Q
934
Kevin May42477c12020-03-26 13:34:14 +0000935ifeq ($(R_OR_LATER),1)
936# The following target is available starting from Android R
937
938#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100939# android.hardware.neuralnetworks@1.3-service-armnn #
Kevin May42477c12020-03-26 13:34:14 +0000940#####################################################
941include $(CLEAR_VARS)
942
Kevin Mayabc95d02020-05-15 15:34:03 +0100943LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-armnn
944LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-armnn.rc
Kevin May42477c12020-03-26 13:34:14 +0000945LOCAL_MODULE_TAGS := optional
946LOCAL_ARM_MODE := arm
947LOCAL_MODULE_RELATIVE_PATH := hw
948LOCAL_PROPRIETARY_MODULE := true
949# Mark source files as dependent on Android.mk
950LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
951
952LOCAL_C_INCLUDES := \
953 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100954 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000955 $(NN_HEADER_PATH)
956
957LOCAL_CFLAGS := \
958 -std=$(CPP_VERSION) \
959 -fexceptions \
960 -DARMNN_ANDROID_NN_V1_3 \
Sadik Armagan188675f2021-02-12 17:16:42 +0000961
962ifeq ($(ANDROID_R),1)
963LOCAL_CFLAGS+= \
Kevin May42477c12020-03-26 13:34:14 +0000964 -DARMNN_ANDROID_R
Sadik Armagan188675f2021-02-12 17:16:42 +0000965endif
966
967ifeq ($(ANDROID_S),1)
968LOCAL_CFLAGS+= \
969 -DARMNN_ANDROID_S
970endif
Kevin May42477c12020-03-26 13:34:14 +0000971
972ifeq ($(ARMNN_DRIVER_DEBUG),1)
973LOCAL_CFLAGS += \
974 -UNDEBUG
975endif # ARMNN_DRIVER_DEBUG == 1
976
977LOCAL_SRC_FILES := \
978 service.cpp
979
980LOCAL_STATIC_LIBRARIES := \
981 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000982 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200983 arm_compute_library \
984 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Kevin May42477c12020-03-26 13:34:14 +0000985
986LOCAL_WHOLE_STATIC_LIBRARIES := \
987 libarmnn-driver@1.3
988
989LOCAL_SHARED_LIBRARIES := \
990 libbase \
991 libhidlbase \
992 libhidltransport \
993 libhidlmemory \
994 libdl \
995 libhardware \
996 liblog \
997 libtextclassifier_hash \
998 libutils \
999 libnativewindow \
1000 libui \
1001 libfmq \
1002 libcutils \
Sadik Armagand7be72e2020-04-23 12:56:05 +01001003 libsync \
Kevin May42477c12020-03-26 13:34:14 +00001004 android.hidl.allocator@1.0 \
1005 android.hidl.memory@1.0 \
1006 android.hardware.neuralnetworks@1.0 \
1007 android.hardware.neuralnetworks@1.1 \
1008 android.hardware.neuralnetworks@1.2 \
Zingo Andersenf65b2662021-10-27 07:04:11 +02001009 android.hardware.neuralnetworks@1.3 \
1010 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Kevin May42477c12020-03-26 13:34:14 +00001011
alered017c395b22020-04-03 15:37:24 +01001012ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin May42477c12020-03-26 13:34:14 +00001013LOCAL_SHARED_LIBRARIES+= \
1014 libOpenCL
1015endif
1016
1017include $(BUILD_EXECUTABLE)
1018
1019endif # PLATFORM_VERSION == R
1020
Mike Kelly0e415132020-02-11 11:21:25 +00001021##########################
1022# armnn module and tests #
1023##########################
1024# Note we use ANDROID_NN_DRIVER_LOCAL_PATH rather than LOCAL_PATH because LOCAL_PATH will be overwritten
1025# when including other .mk files that set it.
1026include $(ANDROID_NN_DRIVER_LOCAL_PATH)/armnn/Android.mk
1027include $(ANDROID_NN_DRIVER_LOCAL_PATH)/test/Android.mk