blob: f185c61e0919e7524a28741106e6e4984665384d [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 \
Mike Kelly0e415132020-02-11 11:21:25 +000083 arm_compute_library
84
85LOCAL_WHOLE_STATIC_LIBRARIES := \
86 libarmnn-driver@1.0
87
88LOCAL_SHARED_LIBRARIES := \
89 libbase \
90 libhidlbase \
91 libhidltransport \
92 libhidlmemory \
93 liblog \
94 libtextclassifier_hash \
95 libutils \
96 android.hardware.neuralnetworks@1.0 \
97 android.hidl.allocator@1.0 \
98 android.hidl.memory@1.0
99
100ifeq ($(P_OR_LATER),1)
101# Required to build the 1.0 version of the NN Driver on Android P and later versions,
102# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
103LOCAL_SHARED_LIBRARIES+= \
104 android.hardware.neuralnetworks@1.1
105endif # PLATFORM_VERSION == 9
106
107ifeq ($(Q_OR_LATER),1)
108LOCAL_SHARED_LIBRARIES+= \
109 libnativewindow \
110 libui \
111 libfmq \
112 libcutils \
113 android.hardware.neuralnetworks@1.2
114endif # PLATFORM_VERSION == Q
115
Kevin Mayec1e5b82020-02-26 17:00:39 +0000116ifeq ($(R_OR_LATER),1)
117LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100118 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000119 android.hardware.neuralnetworks@1.3
120endif # R or later
121
alered017c395b22020-04-03 15:37:24 +0100122ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000123LOCAL_SHARED_LIBRARIES+= \
124 libOpenCL
125endif
126
127include $(BUILD_EXECUTABLE)
128
129ifeq ($(P_OR_LATER),1)
130# The following target is available starting from Android P
131
132##########################
133# armnn-driver-tests@1.1 #
134##########################
135include $(CLEAR_VARS)
136
137LOCAL_MODULE := armnn-driver-tests@1.1
138ifeq ($(Q_OR_LATER),1)
139# "eng" is deprecated in Android Q
140LOCAL_MODULE_TAGS := optional
141else
142LOCAL_MODULE_TAGS := eng optional
143endif
144#PRODUCT_PACKAGES_ENG := libarmnn
145LOCAL_ARM_MODE := arm
146LOCAL_PROPRIETARY_MODULE := true
147# Mark source files as dependent on Android.mk
148LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
149
150LOCAL_C_INCLUDES := \
151 $(OPENCL_HEADER_PATH) \
152 $(NN_HEADER_PATH) \
153 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100154 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100155 $(ARMNN_THIRD_PARTY_PATH) \
156 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000157 $(ARMNN_DRIVER_HEADER_PATH)
158
159LOCAL_CFLAGS := \
160 -std=$(CPP_VERSION) \
161 -fexceptions \
162 -Werror \
163 -O0 \
164 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000165 -DARMNN_ANDROID_NN_V1_1
166
Kevin Mayec1e5b82020-02-26 17:00:39 +0000167# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000168ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000169LOCAL_CFLAGS+= \
170 -DARMNN_ANDROID_R
171endif # R or later
172
Sadik Armagan188675f2021-02-12 17:16:42 +0000173ifeq ($(ANDROID_S),1)
174LOCAL_CFLAGS+= \
175 -DARMNN_ANDROID_S
176endif # S or later
177
Mike Kelly0e415132020-02-11 11:21:25 +0000178LOCAL_SRC_FILES := \
179 1.0/Convolution2D.cpp \
180 1.1/Convolution2D.cpp \
181 1.1/Mean.cpp \
182 1.1/Transpose.cpp \
183 1.0/Lstm.cpp \
184 1.1/Lstm.cpp \
185 Tests.cpp \
186 UtilsTests.cpp \
187 Concurrent.cpp \
188 FullyConnected.cpp \
189 GenericLayerTests.cpp \
190 DriverTestHelpers.cpp \
191 SystemProperties.cpp \
192 Concat.cpp \
193 TestTensor.cpp
194
195LOCAL_STATIC_LIBRARIES := \
196 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000197 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000198 arm_compute_library
199
200LOCAL_WHOLE_STATIC_LIBRARIES := \
201 libarmnn-driver@1.1
202
203LOCAL_SHARED_LIBRARIES := \
204 libbase \
205 libhidlbase \
206 libhidltransport \
207 libhidlmemory \
208 liblog \
209 libtextclassifier_hash \
210 libutils \
211 android.hardware.neuralnetworks@1.0 \
212 android.hardware.neuralnetworks@1.1 \
213 android.hidl.allocator@1.0 \
214 android.hidl.memory@1.0
215
216ifeq ($(Q_OR_LATER),1)
217LOCAL_SHARED_LIBRARIES+= \
218 libnativewindow \
219 libui \
220 libfmq \
221 libcutils \
222 android.hardware.neuralnetworks@1.2
223endif # PLATFORM_VERSION == Q
224
Kevin Mayec1e5b82020-02-26 17:00:39 +0000225ifeq ($(R_OR_LATER),1)
226LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100227 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000228 android.hardware.neuralnetworks@1.3
229endif # R or later
230
alered017c395b22020-04-03 15:37:24 +0100231ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000232LOCAL_SHARED_LIBRARIES+= \
233 libOpenCL
234endif
235
236include $(BUILD_EXECUTABLE)
237
238endif # PLATFORM_VERSION == 9
239
240ifeq ($(Q_OR_LATER),1)
241# The following target is available starting from Android Q
242
243##########################
244# armnn-driver-tests@1.2 #
245##########################
246include $(CLEAR_VARS)
247
248LOCAL_MODULE := armnn-driver-tests@1.2
249LOCAL_MODULE_TAGS := optional
250
251LOCAL_ARM_MODE := arm
252LOCAL_PROPRIETARY_MODULE := true
253
254# Mark source files as dependent on Android.mk
255LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
256
257LOCAL_C_INCLUDES := \
258 $(OPENCL_HEADER_PATH) \
259 $(NN_HEADER_PATH) \
260 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100261 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100262 $(ARMNN_THIRD_PARTY_PATH) \
263 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000264 $(ARMNN_DRIVER_HEADER_PATH)
265
266LOCAL_CFLAGS := \
267 -std=$(CPP_VERSION) \
268 -fexceptions \
269 -Werror \
270 -O0 \
271 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000272 -DARMNN_ANDROID_NN_V1_2
273
Kevin Mayec1e5b82020-02-26 17:00:39 +0000274# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000275ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000276LOCAL_CFLAGS+= \
277 -DARMNN_ANDROID_R
278endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000279
Sadik Armagan188675f2021-02-12 17:16:42 +0000280ifeq ($(ANDROID_S),1)
281LOCAL_CFLAGS+= \
282 -DARMNN_ANDROID_S
283endif # S or later
284
Mike Kelly0e415132020-02-11 11:21:25 +0000285LOCAL_SRC_FILES := \
286 1.0/Convolution2D.cpp \
287 1.1/Convolution2D.cpp \
288 1.1/Mean.cpp \
289 1.1/Transpose.cpp \
290 1.2/Dilation.cpp \
291 1.2/Capabilities.cpp \
292 1.0/Lstm.cpp \
293 1.1/Lstm.cpp \
294 1.2/Lstm.cpp \
295 Tests.cpp \
296 UtilsTests.cpp \
297 Concurrent.cpp \
298 FullyConnected.cpp \
299 GenericLayerTests.cpp \
300 DriverTestHelpers.cpp \
301 SystemProperties.cpp \
302 Concat.cpp \
303 TestTensor.cpp
304
305LOCAL_STATIC_LIBRARIES := \
306 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000307 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000308 arm_compute_library
309
310LOCAL_WHOLE_STATIC_LIBRARIES := \
311 libarmnn-driver@1.2
312
313LOCAL_SHARED_LIBRARIES := \
314 libbase \
315 libcutils \
316 libfmq \
317 libhidlbase \
318 libhidltransport \
319 libhidlmemory \
320 liblog \
321 libnativewindow \
322 libtextclassifier_hash \
323 libui \
324 libutils \
325 android.hardware.neuralnetworks@1.0 \
326 android.hardware.neuralnetworks@1.1 \
327 android.hardware.neuralnetworks@1.2 \
328 android.hidl.allocator@1.0 \
329 android.hidl.memory@1.0
330
Kevin Mayec1e5b82020-02-26 17:00:39 +0000331ifeq ($(R_OR_LATER),1)
332LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100333 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000334 android.hardware.neuralnetworks@1.3
335endif # R or later
336
alered017c395b22020-04-03 15:37:24 +0100337ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000338LOCAL_SHARED_LIBRARIES+= \
339 libOpenCL
340endif
341
342include $(BUILD_EXECUTABLE)
343
Sadik Armagan6a903a72020-05-26 10:41:54 +0100344endif # PLATFORM_VERSION == Q
345
346ifeq ($(R_OR_LATER),1)
347# The following target is available starting from Android R
348
349##########################
350# armnn-driver-tests@1.3 #
351##########################
352include $(CLEAR_VARS)
353
354LOCAL_MODULE := armnn-driver-tests@1.3
355LOCAL_MODULE_TAGS := optional
356
357LOCAL_ARM_MODE := arm
358LOCAL_PROPRIETARY_MODULE := true
359
360# Mark source files as dependent on Android.mk
361LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
362
363LOCAL_C_INCLUDES := \
364 $(OPENCL_HEADER_PATH) \
365 $(NN_HEADER_PATH) \
366 $(ARMNN_HEADER_PATH) \
Nikhil Raj07648f42021-05-21 14:35:06 +0100367 $(ARMNN_PROFILING_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100368 $(ARMNN_THIRD_PARTY_PATH) \
369 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100370 $(ARMNN_DRIVER_HEADER_PATH)
371
372LOCAL_CFLAGS := \
373 -std=$(CPP_VERSION) \
374 -fexceptions \
375 -Werror \
376 -O0 \
377 -UNDEBUG \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100378 -DARMNN_ANDROID_NN_V1_3
379
Sadik Armagan188675f2021-02-12 17:16:42 +0000380ifeq ($(ANDROID_R),1)
381LOCAL_CFLAGS+= \
382 -DARMNN_ANDROID_R
383endif
384
385ifeq ($(ANDROID_S),1)
386LOCAL_CFLAGS+= \
387 -DARMNN_ANDROID_S
388endif
389
Sadik Armagan6a903a72020-05-26 10:41:54 +0100390LOCAL_SRC_FILES := \
391 1.0/Convolution2D.cpp \
392 1.1/Convolution2D.cpp \
393 1.1/Mean.cpp \
394 1.1/Transpose.cpp \
395 1.2/Dilation.cpp \
396 1.2/Capabilities.cpp \
397 1.0/Lstm.cpp \
398 1.1/Lstm.cpp \
399 1.2/Lstm.cpp \
400 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100401 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100402 Tests.cpp \
403 UtilsTests.cpp \
404 Concurrent.cpp \
405 FullyConnected.cpp \
406 GenericLayerTests.cpp \
407 DriverTestHelpers.cpp \
408 SystemProperties.cpp \
409 Concat.cpp \
410 TestTensor.cpp
411
412LOCAL_STATIC_LIBRARIES := \
413 libneuralnetworks_common \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000414 libflatbuffers-framework \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100415 arm_compute_library
416
417LOCAL_WHOLE_STATIC_LIBRARIES := \
418 libarmnn-driver@1.3
419
420LOCAL_SHARED_LIBRARIES := \
421 libbase \
422 libcutils \
423 libfmq \
424 libhidlbase \
425 libhidltransport \
426 libhidlmemory \
427 liblog \
428 libnativewindow \
429 libtextclassifier_hash \
430 libui \
431 libutils \
432 libsync \
433 android.hardware.neuralnetworks@1.0 \
434 android.hardware.neuralnetworks@1.1 \
435 android.hardware.neuralnetworks@1.2 \
436 android.hardware.neuralnetworks@1.3 \
437 android.hidl.allocator@1.0 \
438 android.hidl.memory@1.0
439
440ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
441LOCAL_SHARED_LIBRARIES+= \
442 libOpenCL
443endif
444
445include $(BUILD_EXECUTABLE)
446
447endif # PLATFORM_VERSION == R