blob: 89999663629cdf5137b3c2418cf36391c3a5f114 [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 \
297 Tests.cpp \
298 UtilsTests.cpp \
299 Concurrent.cpp \
300 FullyConnected.cpp \
301 GenericLayerTests.cpp \
302 DriverTestHelpers.cpp \
303 SystemProperties.cpp \
304 Concat.cpp \
305 TestTensor.cpp
306
307LOCAL_STATIC_LIBRARIES := \
308 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000309 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +0100310 arm_compute_library \
311 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Mike Kelly0e415132020-02-11 11:21:25 +0000312
313LOCAL_WHOLE_STATIC_LIBRARIES := \
314 libarmnn-driver@1.2
315
316LOCAL_SHARED_LIBRARIES := \
317 libbase \
318 libcutils \
319 libfmq \
320 libhidlbase \
321 libhidltransport \
322 libhidlmemory \
323 liblog \
324 libnativewindow \
325 libtextclassifier_hash \
326 libui \
327 libutils \
328 android.hardware.neuralnetworks@1.0 \
329 android.hardware.neuralnetworks@1.1 \
330 android.hardware.neuralnetworks@1.2 \
331 android.hidl.allocator@1.0 \
332 android.hidl.memory@1.0
333
Kevin Mayec1e5b82020-02-26 17:00:39 +0000334ifeq ($(R_OR_LATER),1)
335LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100336 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000337 android.hardware.neuralnetworks@1.3
338endif # R or later
339
alered017c395b22020-04-03 15:37:24 +0100340ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000341LOCAL_SHARED_LIBRARIES+= \
342 libOpenCL
343endif
344
345include $(BUILD_EXECUTABLE)
346
Sadik Armagan6a903a72020-05-26 10:41:54 +0100347endif # PLATFORM_VERSION == Q
348
349ifeq ($(R_OR_LATER),1)
350# The following target is available starting from Android R
351
352##########################
353# armnn-driver-tests@1.3 #
354##########################
355include $(CLEAR_VARS)
356
357LOCAL_MODULE := armnn-driver-tests@1.3
358LOCAL_MODULE_TAGS := optional
359
360LOCAL_ARM_MODE := arm
361LOCAL_PROPRIETARY_MODULE := true
362
363# Mark source files as dependent on Android.mk
364LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
365
366LOCAL_C_INCLUDES := \
367 $(OPENCL_HEADER_PATH) \
368 $(NN_HEADER_PATH) \
369 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100370 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100371 $(ARMNN_THIRD_PARTY_PATH) \
372 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100373 $(ARMNN_DRIVER_HEADER_PATH)
374
375LOCAL_CFLAGS := \
376 -std=$(CPP_VERSION) \
377 -fexceptions \
378 -Werror \
379 -O0 \
380 -UNDEBUG \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100381 -DARMNN_ANDROID_NN_V1_3
382
Sadik Armagan188675f2021-02-12 17:16:42 +0000383ifeq ($(ANDROID_R),1)
384LOCAL_CFLAGS+= \
385 -DARMNN_ANDROID_R
386endif
387
388ifeq ($(ANDROID_S),1)
389LOCAL_CFLAGS+= \
390 -DARMNN_ANDROID_S
391endif
392
Sadik Armagan6a903a72020-05-26 10:41:54 +0100393LOCAL_SRC_FILES := \
394 1.0/Convolution2D.cpp \
395 1.1/Convolution2D.cpp \
396 1.1/Mean.cpp \
397 1.1/Transpose.cpp \
398 1.2/Dilation.cpp \
399 1.2/Capabilities.cpp \
400 1.0/Lstm.cpp \
401 1.1/Lstm.cpp \
402 1.2/Lstm.cpp \
403 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100404 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100405 Tests.cpp \
406 UtilsTests.cpp \
407 Concurrent.cpp \
408 FullyConnected.cpp \
409 GenericLayerTests.cpp \
410 DriverTestHelpers.cpp \
411 SystemProperties.cpp \
412 Concat.cpp \
413 TestTensor.cpp
414
415LOCAL_STATIC_LIBRARIES := \
416 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000417 libflatbuffers-framework \
Zingo Andersene02562b2021-12-14 13:58:56 +0100418 arm_compute_library \
419 $(ARMNN_BACKEND_STATIC_LIBRARIES)
Sadik Armagan6a903a72020-05-26 10:41:54 +0100420
421LOCAL_WHOLE_STATIC_LIBRARIES := \
422 libarmnn-driver@1.3
423
424LOCAL_SHARED_LIBRARIES := \
425 libbase \
426 libcutils \
427 libfmq \
428 libhidlbase \
429 libhidltransport \
430 libhidlmemory \
431 liblog \
432 libnativewindow \
433 libtextclassifier_hash \
434 libui \
435 libutils \
436 libsync \
437 android.hardware.neuralnetworks@1.0 \
438 android.hardware.neuralnetworks@1.1 \
439 android.hardware.neuralnetworks@1.2 \
440 android.hardware.neuralnetworks@1.3 \
441 android.hidl.allocator@1.0 \
442 android.hidl.memory@1.0
443
444ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
445LOCAL_SHARED_LIBRARIES+= \
446 libOpenCL
447endif
448
449include $(BUILD_EXECUTABLE)
450
451endif # PLATFORM_VERSION == R