blob: 06c653d6381fc64860dabdefbf91891d2414c85e [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
Kevin DuBoisc79d9342020-08-24 08:52:26 -07009P_OR_LATER := 1
10Q_OR_LATER := 1
11R_OR_LATER := 1
Kevin DuBoisc0945c72020-11-20 16:57:09 -080012S_OR_LATER := 1
Kevin May157f8f42020-06-02 14:50:01 +010013
Mike Kelly0e415132020-02-11 11:21:25 +000014CPP_VERSION := c++14
15
16ifeq ($(Q_OR_LATER),1)
17CPP_VERSION := c++17
18endif
19
20# Configure these paths if you move the source or Khronos headers
Kevin DuBoise286ca52020-08-26 13:40:27 -070021ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
Kevin DuBois1bb55392020-11-18 15:33:55 -080022ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
Kevin DuBoise286ca52020-08-26 13:40:27 -070023ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
Kevin DuBois1bb55392020-11-18 15:33:55 -080024ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
Mike Kelly0e415132020-02-11 11:21:25 +000025OPENCL_HEADER_PATH := $(LOCAL_PATH)/clframework/include
Kevin DuBoisbf034432020-11-30 13:39:14 -080026NN_HEADER_PATH := $(LOCAL_PATH)/../../packages/modules/NeuralNetworks/common/include \
27 $(LOCAL_PATH)/../../packages/modules/NeuralNetworks/runtime/include
Mike Kelly0e415132020-02-11 11:21:25 +000028
29# Variables to control CL/NEON/reference backend support
30# Set them to '0' to disable support for a specific backend
Kevin DuBoisb0fe0152020-11-30 13:39:57 -080031ARMNN_COMPUTE_CL_ENABLED := 0
Kevin DuBois12069cf2020-12-15 08:46:22 -080032ARMNN_COMPUTE_NEON_ENABLED := 0
Mike Kelly0e415132020-02-11 11:21:25 +000033ARMNN_REF_ENABLED := 1
FrancisMurtagh594b2832020-06-15 17:17:56 +010034ARMNN_ETHOSN_ENABLED := 1
Mike Kelly0e415132020-02-11 11:21:25 +000035
Kevin DuBoisb0fe0152020-11-30 13:39:57 -080036ifeq ($(ARMNN_COMPUTE_CL_ENABLE),1)
37ARMNN_COMPUTE_CL_ENABLED := 1
Mike Kelly0e415132020-02-11 11:21:25 +000038endif
39
Kevin DuBois12069cf2020-12-15 08:46:22 -080040ifeq ($(ARMNN_COMPUTE_NEON_ENABLE),1)
41ARMNN_COMPUTE_NEON_ENABLED := 1
Mike Kelly0e415132020-02-11 11:21:25 +000042endif
43
44ifeq ($(ARMNN_REF_ENABLE),0)
45ARMNN_REF_ENABLED := 0
46endif
47
FrancisMurtagh594b2832020-06-15 17:17:56 +010048ifeq ($(ARMNN_ETHOSN_ENABLE),0)
49ARMNN_ETHOSN_ENABLED := 0
50endif
51
alered017c395b22020-04-03 15:37:24 +010052# Variable to control inclusion of libOpenCL shared library
53ARMNN_INCLUDE_LIBOPENCL := $(ARMNN_COMPUTE_CL_ENABLED)
54ifeq ($(ARMNN_LIBOPENCL),0)
55ARMNN_INCLUDE_LIBOPENCL := 0
56endif
57
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +010058# Variable to control retire rate of priority queue
59RETIRE_RATE := 3
60
Mike Kelly0e415132020-02-11 11:21:25 +000061#######################
62# libarmnn-driver@1.0 #
63#######################
64include $(CLEAR_VARS)
65
66LOCAL_MODULE := libarmnn-driver@1.0
Bob Badour4f9d9712021-03-02 00:44:18 -080067LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
68LOCAL_LICENSE_CONDITIONS := notice
69LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Mike Kelly0e415132020-02-11 11:21:25 +000070ifeq ($(Q_OR_LATER),1)
71# "eng" is deprecated in Android Q
72LOCAL_MODULE_TAGS := optional
73else
74LOCAL_MODULE_TAGS := eng optional
75endif
76LOCAL_ARM_MODE := arm
77LOCAL_PROPRIETARY_MODULE := true
78# Mark source files as dependent on Android.mk
79LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
80
81LOCAL_C_INCLUDES := \
82 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +010083 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +000084 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +010085 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +000086 $(OPENCL_HEADER_PATH) \
87 $(NN_HEADER_PATH)
88
89LOCAL_CFLAGS := \
90 -std=$(CPP_VERSION) \
91 -fexceptions \
92 -Werror \
93 -Wno-format-security
94
Kevin Mayec1e5b82020-02-26 17:00:39 +000095# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -080096ifeq ($(R_OR_LATER),1)
Mike Kelly0e415132020-02-11 11:21:25 +000097LOCAL_CFLAGS+= \
Kevin Mayec1e5b82020-02-26 17:00:39 +000098 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +010099endif
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800100ifeq ($(S_OR_LATER),1)
101LOCAL_CFLAGS+= \
102 -DARMNN_ANDROID_S
103endif
Mike Kelly0e415132020-02-11 11:21:25 +0000104
105ifeq ($(ARMNN_DRIVER_DEBUG),1)
106LOCAL_CFLAGS+= \
107 -UNDEBUG
108endif # ARMNN_DRIVER_DEBUG == 1
109
Mike Kelly0e415132020-02-11 11:21:25 +0000110ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
111LOCAL_CFLAGS += \
112 -DARMCOMPUTECL_ENABLED
113endif # ARMNN_COMPUTE_CL_ENABLED == 1
114
115ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
116LOCAL_CFLAGS += \
117 -DARMCOMPUTENEON_ENABLED
118endif # ARMNN_COMPUTE_NEON_ENABLED == 1
119
120ifeq ($(ARMNN_REF_ENABLED),1)
121LOCAL_CFLAGS += \
122 -DARMNNREF_ENABLED
123endif # ARMNN_REF_ENABLED == 1
124
FrancisMurtagh594b2832020-06-15 17:17:56 +0100125ifeq ($(ARMNN_ETHOSN_ENABLED),1)
126LOCAL_CFLAGS += \
127 -DARMNNETHOSN_ENABLED
128endif # ARMNN_ETHOSN_ENABLED == 1
129
Mike Kelly0e415132020-02-11 11:21:25 +0000130LOCAL_SRC_FILES := \
131 1.0/ArmnnDriverImpl.cpp \
132 1.0/HalPolicy.cpp \
133 ArmnnDriverImpl.cpp \
134 DriverOptions.cpp \
135 ArmnnDevice.cpp \
136 ArmnnPreparedModel.cpp \
137 ModelToINetworkConverter.cpp \
138 RequestThread.cpp \
139 Utils.cpp \
140 ConversionUtils.cpp
141
142LOCAL_STATIC_LIBRARIES := \
143 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000144 arm_compute_library
145
146LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
147
148LOCAL_SHARED_LIBRARIES := \
149 libbase \
150 libhidlbase \
151 libhidltransport \
152 libhidlmemory \
153 liblog \
154 libutils \
155 android.hardware.neuralnetworks@1.0 \
156 android.hidl.allocator@1.0 \
157 android.hidl.memory@1.0
158
159ifeq ($(P_OR_LATER),1)
160# Required to build the 1.0 version of the NN Driver on Android P and later versions,
161# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
162LOCAL_SHARED_LIBRARIES+= \
163 android.hardware.neuralnetworks@1.1
164endif # PLATFORM_VERSION == 9
165
166ifeq ($(Q_OR_LATER),1)
167LOCAL_SHARED_LIBRARIES+= \
168 libnativewindow \
169 libui \
170 libfmq \
171 libcutils \
172 android.hardware.neuralnetworks@1.2
Kevin Mayec1e5b82020-02-26 17:00:39 +0000173endif # Q or later
Mike Kelly0e415132020-02-11 11:21:25 +0000174
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700175ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000176LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100177 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000178 android.hardware.neuralnetworks@1.3
179endif # R or later
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700180
alered01dbae2472020-04-07 12:31:10 +0100181ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700182ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
183 LOCAL_SHARED_LIBRARIES += libGLES_mali
184else
185 LOCAL_SHARED_LIBRARIES += libOpenCL
186endif
Mike Kelly0e415132020-02-11 11:21:25 +0000187endif
188
189include $(BUILD_STATIC_LIBRARY)
190
191ifeq ($(P_OR_LATER),1)
192# The following target is available starting from Android P
193
194#######################
195# libarmnn-driver@1.1 #
196#######################
197include $(CLEAR_VARS)
198
199LOCAL_MODULE := libarmnn-driver@1.1
Bob Badour4f9d9712021-03-02 00:44:18 -0800200LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
201LOCAL_LICENSE_CONDITIONS := notice
202LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Mike Kelly0e415132020-02-11 11:21:25 +0000203ifeq ($(Q_OR_LATER),1)
204# "eng" is deprecated in Android Q
205LOCAL_MODULE_TAGS := optional
206else
207LOCAL_MODULE_TAGS := eng optional
208endif
209#PRODUCT_PACKAGES_ENG := libarmnn-driver@1.1
210LOCAL_ARM_MODE := arm
211LOCAL_PROPRIETARY_MODULE := true
212# Mark source files as dependent on Android.mk
213LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
214
215LOCAL_C_INCLUDES := \
216 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100217 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000218 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100219 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000220 $(OPENCL_HEADER_PATH) \
221 $(NN_HEADER_PATH)
222
223LOCAL_CFLAGS := \
224 -std=$(CPP_VERSION) \
225 -fexceptions \
226 -Werror \
227 -Wno-format-security \
Mike Kelly0e415132020-02-11 11:21:25 +0000228 -DARMNN_ANDROID_NN_V1_1
229
230ifeq ($(ARMNN_DRIVER_DEBUG),1)
231LOCAL_CFLAGS+= \
232 -UNDEBUG
233endif # ARMNN_DRIVER_DEBUG == 1
234
Kevin Mayec1e5b82020-02-26 17:00:39 +0000235# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800236ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000237LOCAL_CFLAGS+= \
238 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100239endif
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800240ifeq ($(S_OR_LATER),1)
241LOCAL_CFLAGS+= \
242 -DARMNN_ANDROID_S
243endif
Mike Kelly0e415132020-02-11 11:21:25 +0000244
245ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
246LOCAL_CFLAGS += \
247 -DARMCOMPUTECL_ENABLED
248endif # ARMNN_COMPUTE_CL_ENABLED == 1
249
250ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
251LOCAL_CFLAGS += \
252 -DARMCOMPUTENEON_ENABLED
253endif # ARMNN_COMPUTE_NEON_ENABLED == 1
254
255ifeq ($(ARMNN_REF_ENABLED),1)
256LOCAL_CFLAGS += \
257 -DARMNNREF_ENABLED
258endif # ARMNN_REF_ENABLED == 1
259
FrancisMurtagh594b2832020-06-15 17:17:56 +0100260ifeq ($(ARMNN_ETHOSN_ENABLED),1)
261LOCAL_CFLAGS += \
262 -DARMNNETHOSN_ENABLED
263endif # ARMNN_ETHOSN_ENABLED == 1
264
Mike Kelly0e415132020-02-11 11:21:25 +0000265LOCAL_SRC_FILES := \
266 1.0/ArmnnDriverImpl.cpp \
267 1.0/HalPolicy.cpp \
268 1.1/ArmnnDriverImpl.cpp \
269 1.1/HalPolicy.cpp \
270 ArmnnDriverImpl.cpp \
271 DriverOptions.cpp \
272 ArmnnDevice.cpp \
273 ArmnnPreparedModel.cpp \
274 ModelToINetworkConverter.cpp \
275 RequestThread.cpp \
276 Utils.cpp \
277 ConversionUtils.cpp
278
279LOCAL_STATIC_LIBRARIES := \
280 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000281 arm_compute_library
282
283LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
284
285LOCAL_SHARED_LIBRARIES := \
286 libbase \
287 libhidlbase \
288 libhidltransport \
289 libhidlmemory \
290 liblog \
291 libutils \
292 android.hardware.neuralnetworks@1.0 \
293 android.hardware.neuralnetworks@1.1 \
294 android.hidl.allocator@1.0 \
295 android.hidl.memory@1.0
296
297ifeq ($(Q_OR_LATER),1)
298LOCAL_SHARED_LIBRARIES+= \
299 libnativewindow \
300 libui \
301 libfmq \
302 libcutils \
303 android.hardware.neuralnetworks@1.2
304endif # PLATFORM_VERSION == Q
305
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700306ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000307LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100308 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000309 android.hardware.neuralnetworks@1.3
310endif # R or later
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700311
alered017c395b22020-04-03 15:37:24 +0100312ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700313ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
314 LOCAL_SHARED_LIBRARIES += libGLES_mali
315else
316 LOCAL_SHARED_LIBRARIES += libOpenCL
317endif
Mike Kelly0e415132020-02-11 11:21:25 +0000318endif
319
320include $(BUILD_STATIC_LIBRARY)
321
322endif # PLATFORM_VERSION == 9
323
324ifeq ($(Q_OR_LATER),1)
325# The following target is available starting from Android Q
326
327#######################
328# libarmnn-driver@1.2 #
329#######################
330include $(CLEAR_VARS)
331
332LOCAL_MODULE := libarmnn-driver@1.2
Bob Badour4f9d9712021-03-02 00:44:18 -0800333LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
334LOCAL_LICENSE_CONDITIONS := notice
335LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Mike Kelly0e415132020-02-11 11:21:25 +0000336LOCAL_MODULE_TAGS := optional
337LOCAL_ARM_MODE := arm
338LOCAL_PROPRIETARY_MODULE := true
339# Mark source files as dependent on Android.mk
340LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
341
342LOCAL_C_INCLUDES := \
343 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100344 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000345 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100346 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000347 $(OPENCL_HEADER_PATH) \
348 $(NN_HEADER_PATH)
349
350LOCAL_CFLAGS := \
351 -std=$(CPP_VERSION) \
352 -fexceptions \
353 -Werror \
354 -Wno-format-security \
Mike Kelly0e415132020-02-11 11:21:25 +0000355 -DARMNN_ANDROID_NN_V1_2
356
357ifeq ($(ARMNN_DRIVER_DEBUG),1)
358LOCAL_CFLAGS+= \
359 -UNDEBUG
360endif # ARMNN_DRIVER_DEBUG == 1
361
Kevin Mayec1e5b82020-02-26 17:00:39 +0000362# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800363ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000364LOCAL_CFLAGS+= \
365 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100366endif
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800367ifeq ($(S_OR_LATER),1)
368LOCAL_CFLAGS+= \
369 -DARMNN_ANDROID_S
370endif
Mike Kelly0e415132020-02-11 11:21:25 +0000371
372ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
373LOCAL_CFLAGS += \
374 -DARMCOMPUTECL_ENABLED
375endif # ARMNN_COMPUTE_CL_ENABLED == 1
376
377ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
378LOCAL_CFLAGS += \
379 -DARMCOMPUTENEON_ENABLED
380endif # ARMNN_COMPUTE_NEON_ENABLED == 1
381
382ifeq ($(ARMNN_REF_ENABLED),1)
383LOCAL_CFLAGS += \
384 -DARMNNREF_ENABLED
385endif # ARMNN_REF_ENABLED == 1
386
FrancisMurtagh594b2832020-06-15 17:17:56 +0100387ifeq ($(ARMNN_ETHOSN_ENABLED),1)
388LOCAL_CFLAGS += \
389 -DARMNNETHOSN_ENABLED
390endif # ARMNN_ETHOSN_ENABLED == 1
391
Mike Kelly0e415132020-02-11 11:21:25 +0000392LOCAL_SRC_FILES := \
393 1.0/ArmnnDriverImpl.cpp \
394 1.0/HalPolicy.cpp \
395 1.1/ArmnnDriverImpl.cpp \
396 1.1/HalPolicy.cpp \
397 1.2/ArmnnDriverImpl.cpp \
398 1.2/HalPolicy.cpp \
399 ArmnnDevice.cpp \
400 ArmnnDriverImpl.cpp \
401 ArmnnPreparedModel.cpp \
402 ArmnnPreparedModel_1_2.cpp \
403 ConversionUtils.cpp \
404 DriverOptions.cpp \
405 ModelToINetworkConverter.cpp \
406 RequestThread.cpp \
407 Utils.cpp
408
409LOCAL_STATIC_LIBRARIES := \
410 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000411 arm_compute_library
412
413LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
414
415LOCAL_SHARED_LIBRARIES := \
416 libbase \
417 libhidlbase \
418 libhidltransport \
419 libhidlmemory \
420 liblog \
421 libutils \
422 libnativewindow \
423 libui \
424 libfmq \
425 libcutils \
426 android.hidl.allocator@1.0 \
427 android.hidl.memory@1.0 \
428 android.hardware.neuralnetworks@1.0 \
429 android.hardware.neuralnetworks@1.1 \
430 android.hardware.neuralnetworks@1.2
431
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700432ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000433LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100434 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000435 android.hardware.neuralnetworks@1.3
436endif # R or later
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700437
alered017c395b22020-04-03 15:37:24 +0100438ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700439ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
440 LOCAL_SHARED_LIBRARIES += libGLES_mali
441else
442 LOCAL_SHARED_LIBRARIES += libOpenCL
443endif
Mike Kelly0e415132020-02-11 11:21:25 +0000444endif
445
446include $(BUILD_STATIC_LIBRARY)
447
448endif # PLATFORM_VERSION == Q
449
Kevin May42477c12020-03-26 13:34:14 +0000450ifeq ($(R_OR_LATER),1)
451# The following target is available starting from Android R
452
453#######################
454# libarmnn-driver@1.3 #
455#######################
456include $(CLEAR_VARS)
457
458LOCAL_MODULE := libarmnn-driver@1.3
Bob Badour4f9d9712021-03-02 00:44:18 -0800459LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
460LOCAL_LICENSE_CONDITIONS := notice
461LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Kevin May42477c12020-03-26 13:34:14 +0000462LOCAL_MODULE_TAGS := optional
463LOCAL_ARM_MODE := arm
464LOCAL_PROPRIETARY_MODULE := true
465# Mark source files as dependent on Android.mk
466LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
467
468LOCAL_C_INCLUDES := \
469 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100470 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000471 $(ARMNN_UTILS_HEADER_PATH) \
Colm Donelan0cc61782020-10-06 21:02:21 +0100472 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000473 $(OPENCL_HEADER_PATH) \
474 $(NN_HEADER_PATH)
475
476LOCAL_CFLAGS := \
477 -std=$(CPP_VERSION) \
478 -fexceptions \
479 -Werror \
480 -Wno-format-security \
Kevin May42477c12020-03-26 13:34:14 +0000481 -DARMNN_ANDROID_NN_V1_3 \
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800482 -DARMNN_ANDROID_R \
483 -DARMNN_ANDROID_S
Kevin May42477c12020-03-26 13:34:14 +0000484
485ifeq ($(ARMNN_DRIVER_DEBUG),1)
486LOCAL_CFLAGS+= \
487 -UNDEBUG
488endif # ARMNN_DRIVER_DEBUG == 1
489
490ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
491LOCAL_CFLAGS += \
492 -DARMCOMPUTECL_ENABLED
493endif # ARMNN_COMPUTE_CL_ENABLED == 1
494
495ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
496LOCAL_CFLAGS += \
497 -DARMCOMPUTENEON_ENABLED
498endif # ARMNN_COMPUTE_NEON_ENABLED == 1
499
500ifeq ($(ARMNN_REF_ENABLED),1)
501LOCAL_CFLAGS += \
502 -DARMNNREF_ENABLED
503endif # ARMNN_REF_ENABLED == 1
504
FrancisMurtagh594b2832020-06-15 17:17:56 +0100505ifeq ($(ARMNN_ETHOSN_ENABLED),1)
506LOCAL_CFLAGS += \
507 -DARMNNETHOSN_ENABLED
508endif # ARMNN_ETHOSN_ENABLED == 1
509
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100510LOCAL_CFLAGS += \
511 -DRETIRE_RATE=$(RETIRE_RATE)
512
Kevin May42477c12020-03-26 13:34:14 +0000513LOCAL_SRC_FILES := \
514 1.0/ArmnnDriverImpl.cpp \
515 1.0/HalPolicy.cpp \
516 1.1/ArmnnDriverImpl.cpp \
517 1.1/HalPolicy.cpp \
518 1.2/ArmnnDriverImpl.cpp \
519 1.2/HalPolicy.cpp \
520 1.3/ArmnnDriverImpl.cpp \
521 1.3/HalPolicy.cpp \
522 ArmnnDevice.cpp \
523 ArmnnDriverImpl.cpp \
524 ArmnnPreparedModel.cpp \
525 ArmnnPreparedModel_1_2.cpp \
526 ArmnnPreparedModel_1_3.cpp \
527 ConversionUtils.cpp \
528 DriverOptions.cpp \
529 ModelToINetworkConverter.cpp \
530 RequestThread.cpp \
Narumol Prangnawaratcad4e912020-06-02 12:07:43 +0100531 RequestThread_1_3.cpp \
Kevin May42477c12020-03-26 13:34:14 +0000532 Utils.cpp
533
534LOCAL_STATIC_LIBRARIES := \
535 libneuralnetworks_common \
Kevin May42477c12020-03-26 13:34:14 +0000536 arm_compute_library
537
538LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn
539
540LOCAL_SHARED_LIBRARIES := \
541 libbase \
542 libhidlbase \
543 libhidltransport \
544 libhidlmemory \
545 liblog \
546 libutils \
547 libnativewindow \
548 libui \
549 libfmq \
550 libcutils \
551 android.hidl.allocator@1.0 \
552 android.hidl.memory@1.0 \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100553 libsync \
Kevin May42477c12020-03-26 13:34:14 +0000554 android.hardware.neuralnetworks@1.0 \
555 android.hardware.neuralnetworks@1.1 \
556 android.hardware.neuralnetworks@1.2 \
557 android.hardware.neuralnetworks@1.3
558
alered017c395b22020-04-03 15:37:24 +0100559ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBois8d148de2020-11-20 14:19:49 -0800560ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
561 LOCAL_SHARED_LIBRARIES += libGLES_mali
562else
563 LOCAL_SHARED_LIBRARIES += libOpenCL
564endif
Kevin May42477c12020-03-26 13:34:14 +0000565endif
566
567include $(BUILD_STATIC_LIBRARY)
568
569endif # PLATFORM_VERSION == R
570
Mike Kelly0e415132020-02-11 11:21:25 +0000571#####################################################
572# android.hardware.neuralnetworks@1.0-service-armnn #
573#####################################################
574include $(CLEAR_VARS)
575
576LOCAL_MODULE := android.hardware.neuralnetworks@1.0-service-armnn
Bob Badour4f9d9712021-03-02 00:44:18 -0800577LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
578LOCAL_LICENSE_CONDITIONS := notice
579LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Mike Kelly0e415132020-02-11 11:21:25 +0000580LOCAL_INIT_RC := android.hardware.neuralnetworks@1.0-service-armnn.rc
581ifeq ($(Q_OR_LATER),1)
582# "eng" is deprecated in Android Q
583LOCAL_MODULE_TAGS := optional
584else
585LOCAL_MODULE_TAGS := eng optional
586endif
587LOCAL_ARM_MODE := arm
588LOCAL_MODULE_RELATIVE_PATH := hw
589LOCAL_PROPRIETARY_MODULE := true
590# Mark source files as dependent on Android.mk
591LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
592
593LOCAL_C_INCLUDES := \
594 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100595 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000596 $(NN_HEADER_PATH)
597
598LOCAL_CFLAGS := \
599 -std=$(CPP_VERSION) \
600 -fexceptions
601
602ifeq ($(ARMNN_DRIVER_DEBUG),1)
603LOCAL_CFLAGS += \
604 -UNDEBUG
605endif # ARMNN_DRIVER_DEBUG == 1
606
Kevin Mayec1e5b82020-02-26 17:00:39 +0000607# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800608ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000609LOCAL_CFLAGS+= \
610 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100611endif
Mike Kelly0e415132020-02-11 11:21:25 +0000612
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800613ifeq ($(S_OR_LATER),1)
614LOCAL_CFLAGS+= \
615 -DARMNN_ANDROID_S
616endif
617
Mike Kelly0e415132020-02-11 11:21:25 +0000618LOCAL_SRC_FILES := \
619 service.cpp
620
621LOCAL_STATIC_LIBRARIES := \
622 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000623 arm_compute_library
624
625LOCAL_WHOLE_STATIC_LIBRARIES := \
626 libarmnn-driver@1.0
627
628LOCAL_SHARED_LIBRARIES := \
629 libbase \
630 libhidlbase \
631 libhidltransport \
632 libhidlmemory \
633 libdl \
634 libhardware \
635 liblog \
636 libtextclassifier_hash \
637 libutils \
638 android.hardware.neuralnetworks@1.0 \
639 android.hidl.allocator@1.0 \
640 android.hidl.memory@1.0
641
642ifeq ($(P_OR_LATER),1)
643# Required to build the 1.0 version of the NN Driver on Android P and later versions,
644# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
645LOCAL_SHARED_LIBRARIES+= \
646 android.hardware.neuralnetworks@1.1
647endif # PLATFORM_VERSION == 9
Kevin Mayec1e5b82020-02-26 17:00:39 +0000648
Mike Kelly0e415132020-02-11 11:21:25 +0000649ifeq ($(Q_OR_LATER),1)
650LOCAL_SHARED_LIBRARIES+= \
651 libnativewindow \
652 libui \
653 libfmq \
654 libcutils \
655 android.hardware.neuralnetworks@1.2
656endif # PLATFORM_VERSION == Q
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700657ifeq ($(R_OR_LATER),1)
658LOCAL_SHARED_LIBRARIES+= android.hardware.neuralnetworks@1.3
659endif # PLATFORM_VERSION == R
Mike Kelly0e415132020-02-11 11:21:25 +0000660
Kevin Mayec1e5b82020-02-26 17:00:39 +0000661ifeq ($(R_OR_LATER),1)
662LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100663 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000664 android.hardware.neuralnetworks@1.3
665endif # R or later
666
alered017c395b22020-04-03 15:37:24 +0100667ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700668ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
669 LOCAL_SHARED_LIBRARIES += libGLES_mali
670else
671 LOCAL_SHARED_LIBRARIES += libOpenCL
672endif
Mike Kelly0e415132020-02-11 11:21:25 +0000673endif
674
675include $(BUILD_EXECUTABLE)
676
677ifeq ($(P_OR_LATER),1)
678# The following target is available starting from Android P
679
680#####################################################
681# android.hardware.neuralnetworks@1.1-service-armnn #
682#####################################################
683include $(CLEAR_VARS)
684
685LOCAL_MODULE := android.hardware.neuralnetworks@1.1-service-armnn
Bob Badour4f9d9712021-03-02 00:44:18 -0800686LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
687LOCAL_LICENSE_CONDITIONS := notice
688LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Mike Kelly0e415132020-02-11 11:21:25 +0000689LOCAL_INIT_RC := android.hardware.neuralnetworks@1.1-service-armnn.rc
690ifeq ($(Q_OR_LATER),1)
691# "eng" is deprecated in Android Q
692LOCAL_MODULE_TAGS := optional
693else
694LOCAL_MODULE_TAGS := eng optional
695endif
696LOCAL_ARM_MODE := arm
697LOCAL_MODULE_RELATIVE_PATH := hw
698LOCAL_PROPRIETARY_MODULE := true
699# Mark source files as dependent on Android.mk
700LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
701
702LOCAL_C_INCLUDES := \
703 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100704 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000705 $(NN_HEADER_PATH)
706
707LOCAL_CFLAGS := \
708 -std=$(CPP_VERSION) \
709 -fexceptions \
710 -DARMNN_ANDROID_NN_V1_1
711
712ifeq ($(ARMNN_DRIVER_DEBUG),1)
713LOCAL_CFLAGS += \
714 -UNDEBUG
715endif # ARMNN_DRIVER_DEBUG == 1
716
Kevin Mayec1e5b82020-02-26 17:00:39 +0000717# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800718ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000719LOCAL_CFLAGS+= \
720 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100721endif
Mike Kelly0e415132020-02-11 11:21:25 +0000722
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800723ifeq ($(S_OR_LATER),1)
724LOCAL_CFLAGS+= \
725 -DARMNN_ANDROID_S
726endif
727
Mike Kelly0e415132020-02-11 11:21:25 +0000728LOCAL_SRC_FILES := \
729 service.cpp
730
731LOCAL_STATIC_LIBRARIES := \
732 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000733 arm_compute_library
734
735LOCAL_WHOLE_STATIC_LIBRARIES := \
736 libarmnn-driver@1.1
737
738LOCAL_SHARED_LIBRARIES := \
739 libbase \
740 libhidlbase \
741 libhidltransport \
742 libhidlmemory \
743 libdl \
744 libhardware \
745 liblog \
746 libtextclassifier_hash \
747 libutils \
748 android.hardware.neuralnetworks@1.0 \
749 android.hardware.neuralnetworks@1.1 \
750 android.hidl.allocator@1.0 \
751 android.hidl.memory@1.0
752
753ifeq ($(Q_OR_LATER),1)
754LOCAL_SHARED_LIBRARIES+= \
755 libnativewindow \
756 libui \
757 libfmq \
758 libcutils \
759 android.hardware.neuralnetworks@1.2
760endif # PLATFORM_VERSION == Q
761
Kevin Mayec1e5b82020-02-26 17:00:39 +0000762ifeq ($(R_OR_LATER),1)
763LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100764 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000765 android.hardware.neuralnetworks@1.3
766endif # PLATFORM_VERSION == R
767
alered017c395b22020-04-03 15:37:24 +0100768ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700769ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
770 LOCAL_SHARED_LIBRARIES += libGLES_mali
771else
772 LOCAL_SHARED_LIBRARIES += libOpenCL
773endif
Mike Kelly0e415132020-02-11 11:21:25 +0000774endif
775
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700776ifeq ($(R_OR_LATER),1)
777LOCAL_SHARED_LIBRARIES+= android.hardware.neuralnetworks@1.3
778endif # PLATFORM_VERSION == R
779
Mike Kelly0e415132020-02-11 11:21:25 +0000780include $(BUILD_EXECUTABLE)
781
782endif # PLATFORM_VERSION == 9
783
784ifeq ($(Q_OR_LATER),1)
785# The following target is available starting from Android Q
786
787#####################################################
788# android.hardware.neuralnetworks@1.2-service-armnn #
789#####################################################
790include $(CLEAR_VARS)
791
Kevin DuBoise8d0a302021-02-09 15:06:33 -0800792LOCAL_MODULE := android.hardware.neuralnetworks@1.2-service-armnn
Bob Badour4f9d9712021-03-02 00:44:18 -0800793LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
794LOCAL_LICENSE_CONDITIONS := notice
795LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Kevin DuBoise8d0a302021-02-09 15:06:33 -0800796LOCAL_INIT_RC := android.hardware.neuralnetworks@1.2-service-armnn.rc
Mike Kelly0e415132020-02-11 11:21:25 +0000797LOCAL_MODULE_TAGS := optional
798LOCAL_ARM_MODE := arm
799LOCAL_MODULE_RELATIVE_PATH := hw
800LOCAL_PROPRIETARY_MODULE := true
801# Mark source files as dependent on Android.mk
802LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
803
804LOCAL_C_INCLUDES := \
805 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100806 $(ARMNN_THIRD_PARTY_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000807 $(NN_HEADER_PATH)
808
809LOCAL_CFLAGS := \
810 -std=$(CPP_VERSION) \
811 -fexceptions \
812 -DARMNN_ANDROID_NN_V1_2 \
Sean Callanandd8270c2020-01-31 16:00:37 -0800813 -Wno-unused-variable \
814 -Wno-unneeded-internal-declaration \
815 -Wno-unused-function \
816 -Wno-unused-local-typedef
Mike Kelly0e415132020-02-11 11:21:25 +0000817
818ifeq ($(ARMNN_DRIVER_DEBUG),1)
819LOCAL_CFLAGS += \
820 -UNDEBUG
821endif # ARMNN_DRIVER_DEBUG == 1
822
Kevin Mayec1e5b82020-02-26 17:00:39 +0000823# Required to build with the changes made to the Android ML framework specific to Android R
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800824ifeq ($(R_OR_LATER),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000825LOCAL_CFLAGS+= \
826 -DARMNN_ANDROID_R
Kevin May157f8f42020-06-02 14:50:01 +0100827endif
Kevin Mayec1e5b82020-02-26 17:00:39 +0000828
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800829ifeq ($(S_OR_LATER),1)
830LOCAL_CFLAGS+= \
831 -DARMNN_ANDROID_S
832endif
833
Mike Kelly0e415132020-02-11 11:21:25 +0000834LOCAL_SRC_FILES := \
835 service.cpp
836
837LOCAL_STATIC_LIBRARIES := \
838 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000839 arm_compute_library
840
841LOCAL_WHOLE_STATIC_LIBRARIES := \
842 libarmnn-driver@1.2
843
844LOCAL_SHARED_LIBRARIES := \
845 libbase \
846 libhidlbase \
847 libhidltransport \
848 libhidlmemory \
849 libdl \
850 libhardware \
851 liblog \
852 libtextclassifier_hash \
853 libutils \
854 libnativewindow \
855 libui \
856 libfmq \
857 libcutils \
858 android.hidl.allocator@1.0 \
859 android.hidl.memory@1.0 \
860 android.hardware.neuralnetworks@1.0 \
861 android.hardware.neuralnetworks@1.1 \
Kevin DuBoisc79d9342020-08-24 08:52:26 -0700862 android.hardware.neuralnetworks@1.2 \
863 android.hardware.neuralnetworks@1.3
Mike Kelly0e415132020-02-11 11:21:25 +0000864
Kevin Mayec1e5b82020-02-26 17:00:39 +0000865ifeq ($(R_OR_LATER),1)
866LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100867 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000868 android.hardware.neuralnetworks@1.3
869endif # R or later
870
alered017c395b22020-04-03 15:37:24 +0100871ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoisf67a0802020-10-16 13:16:28 -0700872ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
873 LOCAL_SHARED_LIBRARIES += libGLES_mali
874else
875 LOCAL_SHARED_LIBRARIES += libOpenCL
876endif
Kevin DuBoiscf642102020-11-20 12:35:32 -0800877
878
879LOCAL_LDFLAGS_32 := -Wl,-rpath,/vendor/lib/egl
880LOCAL_LDFLAGS_64 := -Wl,-rpath,/vendor/lib64/egl
Mike Kelly0e415132020-02-11 11:21:25 +0000881endif
882
883include $(BUILD_EXECUTABLE)
884
885endif # PLATFORM_VERSION == Q
886
Kevin May42477c12020-03-26 13:34:14 +0000887ifeq ($(R_OR_LATER),1)
888# The following target is available starting from Android R
889
890#####################################################
Kevin Mayabc95d02020-05-15 15:34:03 +0100891# android.hardware.neuralnetworks@1.3-service-armnn #
Kevin May42477c12020-03-26 13:34:14 +0000892#####################################################
893include $(CLEAR_VARS)
894
Kevin Mayabc95d02020-05-15 15:34:03 +0100895LOCAL_MODULE := android.hardware.neuralnetworks@1.3-service-armnn
Bob Badour4f9d9712021-03-02 00:44:18 -0800896LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
897LOCAL_LICENSE_CONDITIONS := notice
898LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
Kevin Mayabc95d02020-05-15 15:34:03 +0100899LOCAL_INIT_RC := android.hardware.neuralnetworks@1.3-service-armnn.rc
Kevin May42477c12020-03-26 13:34:14 +0000900LOCAL_MODULE_TAGS := optional
901LOCAL_ARM_MODE := arm
902LOCAL_MODULE_RELATIVE_PATH := hw
903LOCAL_PROPRIETARY_MODULE := true
904# Mark source files as dependent on Android.mk
905LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
906
907LOCAL_C_INCLUDES := \
908 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100909 $(ARMNN_THIRD_PARTY_PATH) \
Kevin May42477c12020-03-26 13:34:14 +0000910 $(NN_HEADER_PATH)
911
912LOCAL_CFLAGS := \
913 -std=$(CPP_VERSION) \
914 -fexceptions \
915 -DARMNN_ANDROID_NN_V1_3 \
Kevin DuBoise6d328f2020-11-20 15:54:18 -0800916 -DARMNN_ANDROID_R \
Kevin DuBoisc0945c72020-11-20 16:57:09 -0800917 -DARMNN_ANDROID_S \
Kevin DuBoise6d328f2020-11-20 15:54:18 -0800918 -Wno-unused-variable \
919 -Wno-unneeded-internal-declaration \
920 -Wno-unused-function \
921 -Wno-unused-local-typedef
Kevin May42477c12020-03-26 13:34:14 +0000922
923ifeq ($(ARMNN_DRIVER_DEBUG),1)
924LOCAL_CFLAGS += \
925 -UNDEBUG
926endif # ARMNN_DRIVER_DEBUG == 1
927
928LOCAL_SRC_FILES := \
929 service.cpp
930
931LOCAL_STATIC_LIBRARIES := \
932 libneuralnetworks_common \
Kevin May42477c12020-03-26 13:34:14 +0000933 arm_compute_library
934
935LOCAL_WHOLE_STATIC_LIBRARIES := \
936 libarmnn-driver@1.3
937
938LOCAL_SHARED_LIBRARIES := \
939 libbase \
940 libhidlbase \
941 libhidltransport \
942 libhidlmemory \
943 libdl \
944 libhardware \
945 liblog \
946 libtextclassifier_hash \
947 libutils \
948 libnativewindow \
949 libui \
950 libfmq \
951 libcutils \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100952 libsync \
Kevin May42477c12020-03-26 13:34:14 +0000953 android.hidl.allocator@1.0 \
954 android.hidl.memory@1.0 \
955 android.hardware.neuralnetworks@1.0 \
956 android.hardware.neuralnetworks@1.1 \
957 android.hardware.neuralnetworks@1.2 \
958 android.hardware.neuralnetworks@1.3
959
alered017c395b22020-04-03 15:37:24 +0100960ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Kevin DuBoise6d328f2020-11-20 15:54:18 -0800961ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
962 LOCAL_SHARED_LIBRARIES += libGLES_mali
963else
964 LOCAL_SHARED_LIBRARIES += libOpenCL
965endif
966LOCAL_LDFLAGS_32 := -Wl,-rpath,/vendor/lib/egl
967LOCAL_LDFLAGS_64 := -Wl,-rpath,/vendor/lib64/egl
Kevin May42477c12020-03-26 13:34:14 +0000968endif
969
970include $(BUILD_EXECUTABLE)
971
972endif # PLATFORM_VERSION == R
973
Mike Kelly0e415132020-02-11 11:21:25 +0000974##########################
975# armnn module and tests #
976##########################
977# Note we use ANDROID_NN_DRIVER_LOCAL_PATH rather than LOCAL_PATH because LOCAL_PATH will be overwritten
978# when including other .mk files that set it.
Kevin DuBoise286ca52020-08-26 13:40:27 -0700979#include $(ANDROID_NN_DRIVER_LOCAL_PATH)/armnn/Android.mk
980#include $(ANDROID_NN_DRIVER_LOCAL_PATH)/test/Android.mk