blob: a417624fe1632a5956bd1f31e92ccc390f71f249 [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
6LOCAL_PATH := $(call my-dir)
7
8# Configure these paths if you move the source or Khronos headers
9#
10OPENCL_HEADER_PATH := $(LOCAL_PATH)/../../mali/product/khronos/original
Mike Kelly0e415132020-02-11 11:21:25 +000011ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
Nikhil Raj07648f42021-05-21 14:35:06 +010012ARMNN_PROFILING_PATH := $(LOCAL_PATH)/../armnn/profiling
Colm Donelan08d9a1c2020-09-09 17:56:55 +010013ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
14ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
Mike Kelly0e415132020-02-11 11:21:25 +000015ARMNN_DRIVER_HEADER_PATH := $(LOCAL_PATH)/..
16
Sadik Armagan188675f2021-02-12 17:16:42 +000017NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
18ifeq ($(S_OR_LATER),1)
19NN_HEADER_PATH := $(LOCAL_PATH)/../../../../packages/modules/NeuralNetworks/runtime/include
20endif
21
Mike Kelly0e415132020-02-11 11:21:25 +000022##########################
23# armnn-driver-tests@1.0 #
24##########################
25include $(CLEAR_VARS)
26
27LOCAL_MODULE := armnn-driver-tests@1.0
28ifeq ($(Q_OR_LATER),1)
29# "eng" is deprecated in Android Q
30LOCAL_MODULE_TAGS := optional
31else
32LOCAL_MODULE_TAGS := eng optional
33endif
34LOCAL_ARM_MODE := arm
35LOCAL_PROPRIETARY_MODULE := true
36# Mark source files as dependent on Android.mk
37LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
38
39LOCAL_C_INCLUDES := \
40 $(OPENCL_HEADER_PATH) \
41 $(NN_HEADER_PATH) \
42 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +010043 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +010044 $(ARMNN_THIRD_PARTY_PATH) \
45 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +000046 $(ARMNN_DRIVER_HEADER_PATH)
47
48LOCAL_CFLAGS := \
49 -std=$(CPP_VERSION) \
50 -fexceptions \
51 -Werror \
52 -O0 \
53 -UNDEBUG
54
Kevin Mayec1e5b82020-02-26 17:00:39 +000055# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +000056ifeq ($(ANDROID_R),1)
Mike Kelly0e415132020-02-11 11:21:25 +000057LOCAL_CFLAGS+= \
Kevin Mayec1e5b82020-02-26 17:00:39 +000058 -DARMNN_ANDROID_R
59endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +000060
Sadik Armagan188675f2021-02-12 17:16:42 +000061ifeq ($(ANDROID_S),1)
62LOCAL_CFLAGS+= \
63 -DARMNN_ANDROID_S
64endif # S or later
65
Mike Kelly0e415132020-02-11 11:21:25 +000066LOCAL_SRC_FILES := \
67 1.0/Convolution2D.cpp \
68 1.0/FullyConnectedReshape.cpp \
69 1.0/Lstm.cpp \
70 Tests.cpp \
71 UtilsTests.cpp \
72 Concurrent.cpp \
73 FullyConnected.cpp \
74 GenericLayerTests.cpp \
75 DriverTestHelpers.cpp \
76 SystemProperties.cpp \
77 Concat.cpp \
78 TestTensor.cpp
79
80LOCAL_STATIC_LIBRARIES := \
81 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +000082 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +010083 arm_compute_library \
84 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +000085
86LOCAL_WHOLE_STATIC_LIBRARIES := \
87 libarmnn-driver@1.0
88
89LOCAL_SHARED_LIBRARIES := \
90 libbase \
91 libhidlbase \
92 libhidltransport \
93 libhidlmemory \
94 liblog \
95 libtextclassifier_hash \
96 libutils \
97 android.hardware.neuralnetworks@1.0 \
98 android.hidl.allocator@1.0 \
99 android.hidl.memory@1.0
100
101ifeq ($(P_OR_LATER),1)
102# Required to build the 1.0 version of the NN Driver on Android P and later versions,
103# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
104LOCAL_SHARED_LIBRARIES+= \
105 android.hardware.neuralnetworks@1.1
106endif # PLATFORM_VERSION == 9
107
108ifeq ($(Q_OR_LATER),1)
109LOCAL_SHARED_LIBRARIES+= \
110 libnativewindow \
111 libui \
112 libfmq \
113 libcutils \
114 android.hardware.neuralnetworks@1.2
115endif # PLATFORM_VERSION == Q
116
Kevin Mayec1e5b82020-02-26 17:00:39 +0000117ifeq ($(R_OR_LATER),1)
118LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100119 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000120 android.hardware.neuralnetworks@1.3
121endif # R or later
122
alered017c395b22020-04-03 15:37:24 +0100123ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000124LOCAL_SHARED_LIBRARIES+= \
125 libOpenCL
126endif
127
128include $(BUILD_EXECUTABLE)
129
130ifeq ($(P_OR_LATER),1)
131# The following target is available starting from Android P
132
133##########################
134# armnn-driver-tests@1.1 #
135##########################
136include $(CLEAR_VARS)
137
138LOCAL_MODULE := armnn-driver-tests@1.1
139ifeq ($(Q_OR_LATER),1)
140# "eng" is deprecated in Android Q
141LOCAL_MODULE_TAGS := optional
142else
143LOCAL_MODULE_TAGS := eng optional
144endif
145#PRODUCT_PACKAGES_ENG := libarmnn
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 $(OPENCL_HEADER_PATH) \
153 $(NN_HEADER_PATH) \
154 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100155 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100156 $(ARMNN_THIRD_PARTY_PATH) \
157 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000158 $(ARMNN_DRIVER_HEADER_PATH)
159
160LOCAL_CFLAGS := \
161 -std=$(CPP_VERSION) \
162 -fexceptions \
163 -Werror \
164 -O0 \
165 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000166 -DARMNN_ANDROID_NN_V1_1
167
Kevin Mayec1e5b82020-02-26 17:00:39 +0000168# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000169ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000170LOCAL_CFLAGS+= \
171 -DARMNN_ANDROID_R
172endif # R or later
173
Sadik Armagan188675f2021-02-12 17:16:42 +0000174ifeq ($(ANDROID_S),1)
175LOCAL_CFLAGS+= \
176 -DARMNN_ANDROID_S
177endif # S or later
178
Mike Kelly0e415132020-02-11 11:21:25 +0000179LOCAL_SRC_FILES := \
180 1.0/Convolution2D.cpp \
181 1.1/Convolution2D.cpp \
182 1.1/Mean.cpp \
183 1.1/Transpose.cpp \
184 1.0/Lstm.cpp \
185 1.1/Lstm.cpp \
186 Tests.cpp \
187 UtilsTests.cpp \
188 Concurrent.cpp \
189 FullyConnected.cpp \
190 GenericLayerTests.cpp \
191 DriverTestHelpers.cpp \
192 SystemProperties.cpp \
193 Concat.cpp \
194 TestTensor.cpp
195
196LOCAL_STATIC_LIBRARIES := \
197 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000198 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +0100199 arm_compute_library \
200 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000201
202LOCAL_WHOLE_STATIC_LIBRARIES := \
203 libarmnn-driver@1.1
204
205LOCAL_SHARED_LIBRARIES := \
206 libbase \
207 libhidlbase \
208 libhidltransport \
209 libhidlmemory \
210 liblog \
211 libtextclassifier_hash \
212 libutils \
213 android.hardware.neuralnetworks@1.0 \
214 android.hardware.neuralnetworks@1.1 \
215 android.hidl.allocator@1.0 \
216 android.hidl.memory@1.0
217
218ifeq ($(Q_OR_LATER),1)
219LOCAL_SHARED_LIBRARIES+= \
220 libnativewindow \
221 libui \
222 libfmq \
223 libcutils \
224 android.hardware.neuralnetworks@1.2
225endif # PLATFORM_VERSION == Q
226
Kevin Mayec1e5b82020-02-26 17:00:39 +0000227ifeq ($(R_OR_LATER),1)
228LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100229 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000230 android.hardware.neuralnetworks@1.3
231endif # R or later
232
alered017c395b22020-04-03 15:37:24 +0100233ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000234LOCAL_SHARED_LIBRARIES+= \
235 libOpenCL
236endif
237
238include $(BUILD_EXECUTABLE)
239
240endif # PLATFORM_VERSION == 9
241
242ifeq ($(Q_OR_LATER),1)
243# The following target is available starting from Android Q
244
245##########################
246# armnn-driver-tests@1.2 #
247##########################
248include $(CLEAR_VARS)
249
250LOCAL_MODULE := armnn-driver-tests@1.2
251LOCAL_MODULE_TAGS := optional
252
253LOCAL_ARM_MODE := arm
254LOCAL_PROPRIETARY_MODULE := true
255
256# Mark source files as dependent on Android.mk
257LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
258
259LOCAL_C_INCLUDES := \
260 $(OPENCL_HEADER_PATH) \
261 $(NN_HEADER_PATH) \
262 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100263 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100264 $(ARMNN_THIRD_PARTY_PATH) \
265 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000266 $(ARMNN_DRIVER_HEADER_PATH)
267
268LOCAL_CFLAGS := \
269 -std=$(CPP_VERSION) \
270 -fexceptions \
271 -Werror \
272 -O0 \
273 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000274 -DARMNN_ANDROID_NN_V1_2
275
Kevin Mayec1e5b82020-02-26 17:00:39 +0000276# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000277ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000278LOCAL_CFLAGS+= \
279 -DARMNN_ANDROID_R
280endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000281
Sadik Armagan188675f2021-02-12 17:16:42 +0000282ifeq ($(ANDROID_S),1)
283LOCAL_CFLAGS+= \
284 -DARMNN_ANDROID_S
285endif # S or later
286
Mike Kelly0e415132020-02-11 11:21:25 +0000287LOCAL_SRC_FILES := \
288 1.0/Convolution2D.cpp \
289 1.1/Convolution2D.cpp \
290 1.1/Mean.cpp \
291 1.1/Transpose.cpp \
292 1.2/Dilation.cpp \
293 1.2/Capabilities.cpp \
294 1.0/Lstm.cpp \
295 1.1/Lstm.cpp \
296 1.2/Lstm.cpp \
Cathal Corbett0fa5e6d2022-01-21 16:55:13 +0000297 1.2/UnidirectionalSequenceLstm.cpp \
Mike Kelly0e415132020-02-11 11:21:25 +0000298 Tests.cpp \
299 UtilsTests.cpp \
300 Concurrent.cpp \
301 FullyConnected.cpp \
302 GenericLayerTests.cpp \
303 DriverTestHelpers.cpp \
304 SystemProperties.cpp \
305 Concat.cpp \
306 TestTensor.cpp
307
308LOCAL_STATIC_LIBRARIES := \
309 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000310 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +0100311 arm_compute_library \
312 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000313
314LOCAL_WHOLE_STATIC_LIBRARIES := \
315 libarmnn-driver@1.2
316
317LOCAL_SHARED_LIBRARIES := \
318 libbase \
319 libcutils \
320 libfmq \
321 libhidlbase \
322 libhidltransport \
323 libhidlmemory \
324 liblog \
325 libnativewindow \
326 libtextclassifier_hash \
327 libui \
328 libutils \
329 android.hardware.neuralnetworks@1.0 \
330 android.hardware.neuralnetworks@1.1 \
331 android.hardware.neuralnetworks@1.2 \
332 android.hidl.allocator@1.0 \
333 android.hidl.memory@1.0
334
Kevin Mayec1e5b82020-02-26 17:00:39 +0000335ifeq ($(R_OR_LATER),1)
336LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100337 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000338 android.hardware.neuralnetworks@1.3
339endif # R or later
340
alered017c395b22020-04-03 15:37:24 +0100341ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000342LOCAL_SHARED_LIBRARIES+= \
343 libOpenCL
344endif
345
346include $(BUILD_EXECUTABLE)
347
Sadik Armagan6a903a72020-05-26 10:41:54 +0100348endif # PLATFORM_VERSION == Q
349
350ifeq ($(R_OR_LATER),1)
351# The following target is available starting from Android R
352
353##########################
354# armnn-driver-tests@1.3 #
355##########################
356include $(CLEAR_VARS)
357
358LOCAL_MODULE := armnn-driver-tests@1.3
359LOCAL_MODULE_TAGS := optional
360
361LOCAL_ARM_MODE := arm
362LOCAL_PROPRIETARY_MODULE := true
363
364# Mark source files as dependent on Android.mk
365LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
366
367LOCAL_C_INCLUDES := \
368 $(OPENCL_HEADER_PATH) \
369 $(NN_HEADER_PATH) \
370 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100371 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100372 $(ARMNN_THIRD_PARTY_PATH) \
373 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100374 $(ARMNN_DRIVER_HEADER_PATH)
375
376LOCAL_CFLAGS := \
377 -std=$(CPP_VERSION) \
378 -fexceptions \
379 -Werror \
380 -O0 \
381 -UNDEBUG \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100382 -DARMNN_ANDROID_NN_V1_3
383
Sadik Armagan188675f2021-02-12 17:16:42 +0000384ifeq ($(ANDROID_R),1)
385LOCAL_CFLAGS+= \
386 -DARMNN_ANDROID_R
387endif
388
389ifeq ($(ANDROID_S),1)
390LOCAL_CFLAGS+= \
391 -DARMNN_ANDROID_S
392endif
393
Sadik Armagan6a903a72020-05-26 10:41:54 +0100394LOCAL_SRC_FILES := \
395 1.0/Convolution2D.cpp \
396 1.1/Convolution2D.cpp \
397 1.1/Mean.cpp \
398 1.1/Transpose.cpp \
399 1.2/Dilation.cpp \
400 1.2/Capabilities.cpp \
401 1.0/Lstm.cpp \
402 1.1/Lstm.cpp \
403 1.2/Lstm.cpp \
Cathal Corbett0fa5e6d2022-01-21 16:55:13 +0000404 1.2/UnidirectionalSequenceLstm.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100405 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100406 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100407 Tests.cpp \
408 UtilsTests.cpp \
409 Concurrent.cpp \
410 FullyConnected.cpp \
411 GenericLayerTests.cpp \
412 DriverTestHelpers.cpp \
413 SystemProperties.cpp \
414 Concat.cpp \
415 TestTensor.cpp
416
417LOCAL_STATIC_LIBRARIES := \
418 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000419 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +0100420 arm_compute_library \
421 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Sadik Armagan6a903a72020-05-26 10:41:54 +0100422
423LOCAL_WHOLE_STATIC_LIBRARIES := \
424 libarmnn-driver@1.3
425
426LOCAL_SHARED_LIBRARIES := \
427 libbase \
428 libcutils \
429 libfmq \
430 libhidlbase \
431 libhidltransport \
432 libhidlmemory \
433 liblog \
434 libnativewindow \
435 libtextclassifier_hash \
436 libui \
437 libutils \
438 libsync \
439 android.hardware.neuralnetworks@1.0 \
440 android.hardware.neuralnetworks@1.1 \
441 android.hardware.neuralnetworks@1.2 \
442 android.hardware.neuralnetworks@1.3 \
443 android.hidl.allocator@1.0 \
444 android.hidl.memory@1.0
445
446ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
447LOCAL_SHARED_LIBRARIES+= \
448 libOpenCL
449endif
450
451include $(BUILD_EXECUTABLE)
452
453endif # PLATFORM_VERSION == R