blob: d0f4493a6a26d8e2d29d67b6fa76b81bdfe719c9 [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 \
Sadik Armagan0a2dfab2021-10-06 16:41:44 +0100472 CacheDataHandler.cpp \
Mike Kelly0e415132020-02-11 11:21:25 +0000473 ConversionUtils.cpp \
474 DriverOptions.cpp \
475 ModelToINetworkConverter.cpp \
476 RequestThread.cpp \
477 Utils.cpp
478
479LOCAL_STATIC_LIBRARIES := \
480 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000481 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000482 arm_compute_library
483
484LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
485
486LOCAL_SHARED_LIBRARIES := \
487 libbase \
488 libhidlbase \
489 libhidltransport \
490 libhidlmemory \
491 liblog \
492 libutils \
493 libnativewindow \
494 libui \
495 libfmq \
496 libcutils \
497 android.hidl.allocator@1.0 \
498 android.hidl.memory@1.0 \
499 android.hardware.neuralnetworks@1.0 \
500 android.hardware.neuralnetworks@1.1 \
501 android.hardware.neuralnetworks@1.2
502
Kevin Mayec1e5b82020-02-26 17:00:39 +0000503ifeq ($(R_OR_LATER),1)
504LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100505 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000506 android.hardware.neuralnetworks@1.3
507endif # R or later
508
alered017c395b22020-04-03 15:37:24 +0100509ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000510LOCAL_SHARED_LIBRARIES+= \
511 libOpenCL
512endif
513
514include $(BUILD_STATIC_LIBRARY)
515
516endif # PLATFORM_VERSION == Q
517
Kevin May42477c12020-03-26 13:34:14 +0000518ifeq ($(R_OR_LATER),1)
519# The following target is available starting from Android R
520
521#######################
522# libarmnn-driver@1.3 #
523#######################
524include $(CLEAR_VARS)
525
526LOCAL_MODULE := libarmnn-driver@1.3
527LOCAL_MODULE_TAGS := optional
528LOCAL_ARM_MODE := arm
529LOCAL_PROPRIETARY_MODULE := true
530# Mark source files as dependent on Android.mk
531LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
532
533LOCAL_C_INCLUDES := \
534 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100535 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000536 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100537 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000538 $(OPENCL_HEADER_PATH) \
539 $(NN_HEADER_PATH)
540
541LOCAL_CFLAGS := \
542 -std=$(CPP_VERSION) \
543 -fexceptions \
544 -Werror \
Finn Williamsf769f292021-06-25 12:53:09 +0100545 -Wall \
546 -Wextra \
547 -Wno-unused-function \
Kevin May42477c12020-03-26 13:34:14 +0000548 -Wno-format-security \
Kevin May42477c12020-03-26 13:34:14 +0000549 -DARMNN_ANDROID_NN_V1_3 \
Sadik Armagan188675f2021-02-12 17:16:42 +0000550
551ifeq ($(ANDROID_R),1)
552LOCAL_CFLAGS+= \
Kevin May42477c12020-03-26 13:34:14 +0000553 -DARMNN_ANDROID_R
Sadik Armagan188675f2021-02-12 17:16:42 +0000554endif
555
556ifeq ($(ANDROID_S),1)
557LOCAL_CFLAGS+= \
558 -DARMNN_ANDROID_S
559endif
Kevin May42477c12020-03-26 13:34:14 +0000560
561ifeq ($(ARMNN_DRIVER_DEBUG),1)
562LOCAL_CFLAGS+= \
563 -UNDEBUG
564endif # ARMNN_DRIVER_DEBUG == 1
565
566ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
567LOCAL_CFLAGS += \
568 -DARMCOMPUTECL_ENABLED
569endif # ARMNN_COMPUTE_CL_ENABLED == 1
570
571ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
572LOCAL_CFLAGS += \
573 -DARMCOMPUTENEON_ENABLED
574endif # ARMNN_COMPUTE_NEON_ENABLED == 1
575
576ifeq ($(ARMNN_REF_ENABLED),1)
577LOCAL_CFLAGS += \
578 -DARMNNREF_ENABLED
579endif # ARMNN_REF_ENABLED == 1
580
FrancisMurtagh594b2832020-06-15 17:17:56 +0100581ifeq ($(ARMNN_ETHOSN_ENABLED),1)
582LOCAL_CFLAGS += \
583 -DARMNNETHOSN_ENABLED
584endif # ARMNN_ETHOSN_ENABLED == 1
585
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100586LOCAL_CFLAGS += \
587 -DRETIRE_RATE=$(RETIRE_RATE)
588
Kevin May42477c12020-03-26 13:34:14 +0000589LOCAL_SRC_FILES := \
590 1.0/ArmnnDriverImpl.cpp \
591 1.0/HalPolicy.cpp \
592 1.1/ArmnnDriverImpl.cpp \
593 1.1/HalPolicy.cpp \
594 1.2/ArmnnDriverImpl.cpp \
595 1.2/HalPolicy.cpp \
596 1.3/ArmnnDriverImpl.cpp \
597 1.3/HalPolicy.cpp \
598 ArmnnDevice.cpp \
599 ArmnnDriverImpl.cpp \
600 ArmnnPreparedModel.cpp \
601 ArmnnPreparedModel_1_2.cpp \
602 ArmnnPreparedModel_1_3.cpp \
Sadik Armagan0a2dfab2021-10-06 16:41:44 +0100603 CacheDataHandler.cpp \
Kevin May42477c12020-03-26 13:34:14 +0000604 ConversionUtils.cpp \
605 DriverOptions.cpp \
606 ModelToINetworkConverter.cpp \
607 RequestThread.cpp \
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100608 RequestThread_1_3.cpp \
Kevin May42477c12020-03-26 13:34:14 +0000609 Utils.cpp
610
611LOCAL_STATIC_LIBRARIES := \
612 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000613 libflatbuffers-framework \
Kevin May42477c12020-03-26 13:34:14 +0000614 arm_compute_library
615
616LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
617
618LOCAL_SHARED_LIBRARIES := \
619 libbase \
620 libhidlbase \
621 libhidltransport \
622 libhidlmemory \
623 liblog \
624 libutils \
625 libnativewindow \
626 libui \
627 libfmq \
628 libcutils \
629 android.hidl.allocator@1.0 \
630 android.hidl.memory@1.0 \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100631 libsync \
Kevin May42477c12020-03-26 13:34:14 +0000632 android.hardware.neuralnetworks@1.0 \
633 android.hardware.neuralnetworks@1.1 \
634 android.hardware.neuralnetworks@1.2 \
635 android.hardware.neuralnetworks@1.3
636
alered017c395b22020-04-03 15:37:24 +0100637ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin May42477c12020-03-26 13:34:14 +0000638LOCAL_SHARED_LIBRARIES+= \
639 libOpenCL
640endif
641
642include $(BUILD_STATIC_LIBRARY)
643
644endif # PLATFORM_VERSION == R
645
Mike Kelly0e415132020-02-11 11:21:25 +0000646#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100647# android.hardware.neuralnetworks@1.0-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000648#####################################################
649include $(CLEAR_VARS)
650
Kevin Mayabc95d02020-05-15 15:34:03 +0100651LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-armnn
652LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000653ifeq ($(Q_OR_LATER),1)
654# "eng" is deprecated in Android Q
655LOCAL_MODULE_TAGS := optional
656else
657LOCAL_MODULE_TAGS := eng optional
658endif
659LOCAL_ARM_MODE := arm
660LOCAL_MODULE_RELATIVE_PATH := hw
661LOCAL_PROPRIETARY_MODULE := true
662# Mark source files as dependent on Android.mk
663LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
664
665LOCAL_C_INCLUDES := \
666 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100667 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000668 $(NN_HEADER_PATH)
669
670LOCAL_CFLAGS := \
671 -std=$(CPP_VERSION) \
672 -fexceptions
673
674ifeq ($(ARMNN_DRIVER_DEBUG),1)
675LOCAL_CFLAGS += \
676 -UNDEBUG
677endif # ARMNN_DRIVER_DEBUG == 1
678
Kevin Mayec1e5b82020-02-26 17:00:39 +0000679# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100680ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000681LOCAL_CFLAGS+= \
682 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100683endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000684
Sadik Armagan188675f2021-02-12 17:16:42 +0000685ifeq ($(ANDROID_S),1)
686LOCAL_CFLAGS+= \
687 -DARMNN_ANDROID_S
688endif
689
Mike Kelly0e415132020-02-11 11:21:25 +0000690LOCAL_SRC_FILES := \
691 service.cpp
692
693LOCAL_STATIC_LIBRARIES := \
694 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000695 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200696 arm_compute_library \
697 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000698
699LOCAL_WHOLE_STATIC_LIBRARIES := \
700 libarmnn-driver@1.0
701
702LOCAL_SHARED_LIBRARIES := \
703 libbase \
704 libhidlbase \
705 libhidltransport \
706 libhidlmemory \
707 libdl \
708 libhardware \
709 liblog \
710 libtextclassifier_hash \
711 libutils \
712 android.hardware.neuralnetworks@1.0 \
713 android.hidl.allocator@1.0 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200714 android.hidl.memory@1.0 \
715 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000716
717ifeq ($(P_OR_LATER),1)
718# Required to build the 1.0 version of the NN Driver on Android P and later versions,
719# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
720LOCAL_SHARED_LIBRARIES+= \
721 android.hardware.neuralnetworks@1.1
722endif # PLATFORM_VERSION == 9
Kevin Mayec1e5b82020-02-26 17:00:39 +0000723
Mike Kelly0e415132020-02-11 11:21:25 +0000724ifeq ($(Q_OR_LATER),1)
725LOCAL_SHARED_LIBRARIES+= \
726 libnativewindow \
727 libui \
728 libfmq \
729 libcutils \
730 android.hardware.neuralnetworks@1.2
731endif # PLATFORM_VERSION == Q
732
Kevin Mayec1e5b82020-02-26 17:00:39 +0000733ifeq ($(R_OR_LATER),1)
734LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100735 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000736 android.hardware.neuralnetworks@1.3
737endif # R or later
738
alered017c395b22020-04-03 15:37:24 +0100739ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000740LOCAL_SHARED_LIBRARIES+= \
741 libOpenCL
742endif
743
744include $(BUILD_EXECUTABLE)
745
746ifeq ($(P_OR_LATER),1)
747# The following target is available starting from Android P
748
749#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100750# android.hardware.neuralnetworks@1.1-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000751#####################################################
752include $(CLEAR_VARS)
753
Kevin Mayabc95d02020-05-15 15:34:03 +0100754LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-armnn
755LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000756ifeq ($(Q_OR_LATER),1)
757# "eng" is deprecated in Android Q
758LOCAL_MODULE_TAGS := optional
759else
760LOCAL_MODULE_TAGS := eng optional
761endif
762LOCAL_ARM_MODE := arm
763LOCAL_MODULE_RELATIVE_PATH := hw
764LOCAL_PROPRIETARY_MODULE := true
765# Mark source files as dependent on Android.mk
766LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
767
768LOCAL_C_INCLUDES := \
769 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100770 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000771 $(NN_HEADER_PATH)
772
773LOCAL_CFLAGS := \
774 -std=$(CPP_VERSION) \
775 -fexceptions \
776 -DARMNN_ANDROID_NN_V1_1
777
778ifeq ($(ARMNN_DRIVER_DEBUG),1)
779LOCAL_CFLAGS += \
780 -UNDEBUG
781endif # ARMNN_DRIVER_DEBUG == 1
782
Kevin Mayec1e5b82020-02-26 17:00:39 +0000783# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100784ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000785LOCAL_CFLAGS+= \
786 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100787endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000788
Sadik Armagan188675f2021-02-12 17:16:42 +0000789ifeq ($(ANDROID_S),1)
790LOCAL_CFLAGS+= \
791 -DARMNN_ANDROID_S
792endif
793
Mike Kelly0e415132020-02-11 11:21:25 +0000794LOCAL_SRC_FILES := \
795 service.cpp
796
797LOCAL_STATIC_LIBRARIES := \
798 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000799 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200800 arm_compute_library \
801 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000802
803LOCAL_WHOLE_STATIC_LIBRARIES := \
804 libarmnn-driver@1.1
805
806LOCAL_SHARED_LIBRARIES := \
807 libbase \
808 libhidlbase \
809 libhidltransport \
810 libhidlmemory \
811 libdl \
812 libhardware \
813 liblog \
814 libtextclassifier_hash \
815 libutils \
816 android.hardware.neuralnetworks@1.0 \
817 android.hardware.neuralnetworks@1.1 \
818 android.hidl.allocator@1.0 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200819 android.hidl.memory@1.0 \
820 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000821
822ifeq ($(Q_OR_LATER),1)
823LOCAL_SHARED_LIBRARIES+= \
824 libnativewindow \
825 libui \
826 libfmq \
827 libcutils \
828 android.hardware.neuralnetworks@1.2
829endif # PLATFORM_VERSION == Q
830
Kevin Mayec1e5b82020-02-26 17:00:39 +0000831ifeq ($(R_OR_LATER),1)
832LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100833 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000834 android.hardware.neuralnetworks@1.3
835endif # PLATFORM_VERSION == R
836
alered017c395b22020-04-03 15:37:24 +0100837ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000838LOCAL_SHARED_LIBRARIES+= \
839 libOpenCL
840endif
841
842include $(BUILD_EXECUTABLE)
843
844endif # PLATFORM_VERSION == 9
845
846ifeq ($(Q_OR_LATER),1)
847# The following target is available starting from Android Q
848
849#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100850# android.hardware.neuralnetworks@1.2-service-armnn #
Mike Kelly0e415132020-02-11 11:21:25 +0000851#####################################################
852include $(CLEAR_VARS)
853
Kevin Mayabc95d02020-05-15 15:34:03 +0100854LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-armnn
855LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000856LOCAL_MODULE_TAGS := optional
857LOCAL_ARM_MODE := arm
858LOCAL_MODULE_RELATIVE_PATH := hw
859LOCAL_PROPRIETARY_MODULE := true
860# Mark source files as dependent on Android.mk
861LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
862
863LOCAL_C_INCLUDES := \
864 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100865 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000866 $(NN_HEADER_PATH)
867
868LOCAL_CFLAGS := \
869 -std=$(CPP_VERSION) \
870 -fexceptions \
871 -DARMNN_ANDROID_NN_V1_2 \
Mike Kelly0e415132020-02-11 11:21:25 +0000872
873ifeq ($(ARMNN_DRIVER_DEBUG),1)
874LOCAL_CFLAGS += \
875 -UNDEBUG
876endif # ARMNN_DRIVER_DEBUG == 1
877
Kevin Mayec1e5b82020-02-26 17:00:39 +0000878# Required to build with the changes made to the Android ML framework specific to Android R
Kevin May157f8f42020-06-02 14:50:01 +0100879ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000880LOCAL_CFLAGS+= \
881 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100882endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000883
Sadik Armagan188675f2021-02-12 17:16:42 +0000884ifeq ($(ANDROID_S),1)
885LOCAL_CFLAGS+= \
886 -DARMNN_ANDROID_S
887endif
888
Mike Kelly0e415132020-02-11 11:21:25 +0000889LOCAL_SRC_FILES := \
890 service.cpp
891
892LOCAL_STATIC_LIBRARIES := \
893 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000894 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200895 arm_compute_library \
896 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000897
898LOCAL_WHOLE_STATIC_LIBRARIES := \
899 libarmnn-driver@1.2
900
901LOCAL_SHARED_LIBRARIES := \
902 libbase \
903 libhidlbase \
904 libhidltransport \
905 libhidlmemory \
906 libdl \
907 libhardware \
908 liblog \
909 libtextclassifier_hash \
910 libutils \
911 libnativewindow \
912 libui \
913 libfmq \
914 libcutils \
915 android.hidl.allocator@1.0 \
916 android.hidl.memory@1.0 \
917 android.hardware.neuralnetworks@1.0 \
918 android.hardware.neuralnetworks@1.1 \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200919 android.hardware.neuralnetworks@1.2 \
920 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000921
Kevin Mayec1e5b82020-02-26 17:00:39 +0000922ifeq ($(R_OR_LATER),1)
923LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100924 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000925 android.hardware.neuralnetworks@1.3
926endif # R or later
927
alered017c395b22020-04-03 15:37:24 +0100928ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000929LOCAL_SHARED_LIBRARIES+= \
930 libOpenCL
931endif
932
933include $(BUILD_EXECUTABLE)
934
935endif # PLATFORM_VERSION == Q
936
Kevin May42477c12020-03-26 13:34:14 +0000937ifeq ($(R_OR_LATER),1)
938# The following target is available starting from Android R
939
940#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100941# android.hardware.neuralnetworks@1.3-service-armnn #
Kevin May42477c12020-03-26 13:34:14 +0000942#####################################################
943include $(CLEAR_VARS)
944
Kevin Mayabc95d02020-05-15 15:34:03 +0100945LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-armnn
946LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-armnn.rc
Kevin May42477c12020-03-26 13:34:14 +0000947LOCAL_MODULE_TAGS := optional
948LOCAL_ARM_MODE := arm
949LOCAL_MODULE_RELATIVE_PATH := hw
950LOCAL_PROPRIETARY_MODULE := true
951# Mark source files as dependent on Android.mk
952LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
953
954LOCAL_C_INCLUDES := \
955 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100956 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000957 $(NN_HEADER_PATH)
958
959LOCAL_CFLAGS := \
960 -std=$(CPP_VERSION) \
961 -fexceptions \
962 -DARMNN_ANDROID_NN_V1_3 \
Sadik Armagan188675f2021-02-12 17:16:42 +0000963
964ifeq ($(ANDROID_R),1)
965LOCAL_CFLAGS+= \
Kevin May42477c12020-03-26 13:34:14 +0000966 -DARMNN_ANDROID_R
Sadik Armagan188675f2021-02-12 17:16:42 +0000967endif
968
969ifeq ($(ANDROID_S),1)
970LOCAL_CFLAGS+= \
971 -DARMNN_ANDROID_S
972endif
Kevin May42477c12020-03-26 13:34:14 +0000973
974ifeq ($(ARMNN_DRIVER_DEBUG),1)
975LOCAL_CFLAGS += \
976 -UNDEBUG
977endif # ARMNN_DRIVER_DEBUG == 1
978
979LOCAL_SRC_FILES := \
980 service.cpp
981
982LOCAL_STATIC_LIBRARIES := \
983 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000984 libflatbuffers-framework \
Zingo Andersenf65b2662021-10-27 07:04:11 +0200985 arm_compute_library \
986 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Kevin May42477c12020-03-26 13:34:14 +0000987
988LOCAL_WHOLE_STATIC_LIBRARIES := \
989 libarmnn-driver@1.3
990
991LOCAL_SHARED_LIBRARIES := \
992 libbase \
993 libhidlbase \
994 libhidltransport \
995 libhidlmemory \
996 libdl \
997 libhardware \
998 liblog \
999 libtextclassifier_hash \
1000 libutils \
1001 libnativewindow \
1002 libui \
1003 libfmq \
1004 libcutils \
Sadik Armagand7be72e2020-04-23 12:56:05 +01001005 libsync \
Kevin May42477c12020-03-26 13:34:14 +00001006 android.hidl.allocator@1.0 \
1007 android.hidl.memory@1.0 \
1008 android.hardware.neuralnetworks@1.0 \
1009 android.hardware.neuralnetworks@1.1 \
1010 android.hardware.neuralnetworks@1.2 \
Zingo Andersenf65b2662021-10-27 07:04:11 +02001011 android.hardware.neuralnetworks@1.3 \
1012 $(ARMNN_BACKEND_SHARED_LIBRARIES)
Kevin May42477c12020-03-26 13:34:14 +00001013
alered017c395b22020-04-03 15:37:24 +01001014ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin May42477c12020-03-26 13:34:14 +00001015LOCAL_SHARED_LIBRARIES+= \
1016 libOpenCL
1017endif
1018
1019include $(BUILD_EXECUTABLE)
1020
1021endif # PLATFORM_VERSION == R
1022
Mike Kelly0e415132020-02-11 11:21:25 +00001023##########################
1024# armnn module and tests #
1025##########################
1026# Note we use ANDROID_NN_DRIVER_LOCAL_PATH rather than LOCAL_PATH because LOCAL_PATH will be overwritten
1027# when including other .mk files that set it.
1028include $(ANDROID_NN_DRIVER_LOCAL_PATH)/armnn/Android.mk
1029include $(ANDROID_NN_DRIVER_LOCAL_PATH)/test/Android.mk