blob: 1da26e405b92721da1414fc3f28847967688c1ba [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
Colm Donelan08d9a1c2020-09-09 17:56:55 +010012ARMNN_THIRD_PARTY_PATH := $(LOCAL_PATH)/../armnn/third-party
13ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
Mike Kelly0e415132020-02-11 11:21:25 +000014ARMNN_DRIVER_HEADER_PATH := $(LOCAL_PATH)/..
15
Sadik Armagan188675f2021-02-12 17:16:42 +000016NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
17ifeq ($(S_OR_LATER),1)
18NN_HEADER_PATH := $(LOCAL_PATH)/../../../../packages/modules/NeuralNetworks/runtime/include
19endif
20
Mike Kelly0e415132020-02-11 11:21:25 +000021##########################
22# armnn-driver-tests@1.0 #
23##########################
24include $(CLEAR_VARS)
25
26LOCAL_MODULE := armnn-driver-tests@1.0
27ifeq ($(Q_OR_LATER),1)
28# "eng" is deprecated in Android Q
29LOCAL_MODULE_TAGS := optional
30else
31LOCAL_MODULE_TAGS := eng optional
32endif
33LOCAL_ARM_MODE := arm
34LOCAL_PROPRIETARY_MODULE := true
35# Mark source files as dependent on Android.mk
36LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
37
38LOCAL_C_INCLUDES := \
39 $(OPENCL_HEADER_PATH) \
40 $(NN_HEADER_PATH) \
41 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +010042 $(ARMNN_THIRD_PARTY_PATH) \
43 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +000044 $(ARMNN_DRIVER_HEADER_PATH)
45
46LOCAL_CFLAGS := \
47 -std=$(CPP_VERSION) \
48 -fexceptions \
49 -Werror \
50 -O0 \
51 -UNDEBUG
52
Kevin Mayec1e5b82020-02-26 17:00:39 +000053# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +000054ifeq ($(ANDROID_R),1)
Mike Kelly0e415132020-02-11 11:21:25 +000055LOCAL_CFLAGS+= \
Kevin Mayec1e5b82020-02-26 17:00:39 +000056 -DARMNN_ANDROID_R
57endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +000058
Sadik Armagan188675f2021-02-12 17:16:42 +000059ifeq ($(ANDROID_S),1)
60LOCAL_CFLAGS+= \
61 -DARMNN_ANDROID_S
62endif # S or later
63
Mike Kelly0e415132020-02-11 11:21:25 +000064ifeq ($(Q_OR_LATER),1)
65LOCAL_CFLAGS += \
66 -DBOOST_NO_AUTO_PTR
67endif # PLATFORM_VERSION == Q or later
68
69LOCAL_SRC_FILES := \
70 1.0/Convolution2D.cpp \
71 1.0/FullyConnectedReshape.cpp \
72 1.0/Lstm.cpp \
73 Tests.cpp \
74 UtilsTests.cpp \
75 Concurrent.cpp \
76 FullyConnected.cpp \
77 GenericLayerTests.cpp \
78 DriverTestHelpers.cpp \
79 SystemProperties.cpp \
80 Concat.cpp \
81 TestTensor.cpp
82
83LOCAL_STATIC_LIBRARIES := \
84 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +000085 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +000086 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +000087 arm_compute_library
88
89LOCAL_WHOLE_STATIC_LIBRARIES := \
90 libarmnn-driver@1.0
91
92LOCAL_SHARED_LIBRARIES := \
93 libbase \
94 libhidlbase \
95 libhidltransport \
96 libhidlmemory \
97 liblog \
98 libtextclassifier_hash \
99 libutils \
100 android.hardware.neuralnetworks@1.0 \
101 android.hidl.allocator@1.0 \
102 android.hidl.memory@1.0
103
104ifeq ($(P_OR_LATER),1)
105# Required to build the 1.0 version of the NN Driver on Android P and later versions,
106# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
107LOCAL_SHARED_LIBRARIES+= \
108 android.hardware.neuralnetworks@1.1
109endif # PLATFORM_VERSION == 9
110
111ifeq ($(Q_OR_LATER),1)
112LOCAL_SHARED_LIBRARIES+= \
113 libnativewindow \
114 libui \
115 libfmq \
116 libcutils \
117 android.hardware.neuralnetworks@1.2
118endif # PLATFORM_VERSION == Q
119
Kevin Mayec1e5b82020-02-26 17:00:39 +0000120ifeq ($(R_OR_LATER),1)
121LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100122 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000123 android.hardware.neuralnetworks@1.3
124endif # R or later
125
alered017c395b22020-04-03 15:37:24 +0100126ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000127LOCAL_SHARED_LIBRARIES+= \
128 libOpenCL
129endif
130
131include $(BUILD_EXECUTABLE)
132
133ifeq ($(P_OR_LATER),1)
134# The following target is available starting from Android P
135
136##########################
137# armnn-driver-tests@1.1 #
138##########################
139include $(CLEAR_VARS)
140
141LOCAL_MODULE := armnn-driver-tests@1.1
142ifeq ($(Q_OR_LATER),1)
143# "eng" is deprecated in Android Q
144LOCAL_MODULE_TAGS := optional
145else
146LOCAL_MODULE_TAGS := eng optional
147endif
148#PRODUCT_PACKAGES_ENG := libarmnn
149LOCAL_ARM_MODE := arm
150LOCAL_PROPRIETARY_MODULE := true
151# Mark source files as dependent on Android.mk
152LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
153
154LOCAL_C_INCLUDES := \
155 $(OPENCL_HEADER_PATH) \
156 $(NN_HEADER_PATH) \
157 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100158 $(ARMNN_THIRD_PARTY_PATH) \
159 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000160 $(ARMNN_DRIVER_HEADER_PATH)
161
162LOCAL_CFLAGS := \
163 -std=$(CPP_VERSION) \
164 -fexceptions \
165 -Werror \
166 -O0 \
167 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000168 -DARMNN_ANDROID_NN_V1_1
169
Kevin Mayec1e5b82020-02-26 17:00:39 +0000170# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000171ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000172LOCAL_CFLAGS+= \
173 -DARMNN_ANDROID_R
174endif # R or later
175
Sadik Armagan188675f2021-02-12 17:16:42 +0000176ifeq ($(ANDROID_S),1)
177LOCAL_CFLAGS+= \
178 -DARMNN_ANDROID_S
179endif # S or later
180
Mike Kelly0e415132020-02-11 11:21:25 +0000181ifeq ($(Q_OR_LATER),1)
182LOCAL_CFLAGS += \
183 -DBOOST_NO_AUTO_PTR
184endif # PLATFORM_VERSION == Q or later
185
186LOCAL_SRC_FILES := \
187 1.0/Convolution2D.cpp \
188 1.1/Convolution2D.cpp \
189 1.1/Mean.cpp \
190 1.1/Transpose.cpp \
191 1.0/Lstm.cpp \
192 1.1/Lstm.cpp \
193 Tests.cpp \
194 UtilsTests.cpp \
195 Concurrent.cpp \
196 FullyConnected.cpp \
197 GenericLayerTests.cpp \
198 DriverTestHelpers.cpp \
199 SystemProperties.cpp \
200 Concat.cpp \
201 TestTensor.cpp
202
203LOCAL_STATIC_LIBRARIES := \
204 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000205 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000206 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000207 arm_compute_library
208
209LOCAL_WHOLE_STATIC_LIBRARIES := \
210 libarmnn-driver@1.1
211
212LOCAL_SHARED_LIBRARIES := \
213 libbase \
214 libhidlbase \
215 libhidltransport \
216 libhidlmemory \
217 liblog \
218 libtextclassifier_hash \
219 libutils \
220 android.hardware.neuralnetworks@1.0 \
221 android.hardware.neuralnetworks@1.1 \
222 android.hidl.allocator@1.0 \
223 android.hidl.memory@1.0
224
225ifeq ($(Q_OR_LATER),1)
226LOCAL_SHARED_LIBRARIES+= \
227 libnativewindow \
228 libui \
229 libfmq \
230 libcutils \
231 android.hardware.neuralnetworks@1.2
232endif # PLATFORM_VERSION == Q
233
Kevin Mayec1e5b82020-02-26 17:00:39 +0000234ifeq ($(R_OR_LATER),1)
235LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100236 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000237 android.hardware.neuralnetworks@1.3
238endif # R or later
239
alered017c395b22020-04-03 15:37:24 +0100240ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000241LOCAL_SHARED_LIBRARIES+= \
242 libOpenCL
243endif
244
245include $(BUILD_EXECUTABLE)
246
247endif # PLATFORM_VERSION == 9
248
249ifeq ($(Q_OR_LATER),1)
250# The following target is available starting from Android Q
251
252##########################
253# armnn-driver-tests@1.2 #
254##########################
255include $(CLEAR_VARS)
256
257LOCAL_MODULE := armnn-driver-tests@1.2
258LOCAL_MODULE_TAGS := optional
259
260LOCAL_ARM_MODE := arm
261LOCAL_PROPRIETARY_MODULE := true
262
263# Mark source files as dependent on Android.mk
264LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
265
266LOCAL_C_INCLUDES := \
267 $(OPENCL_HEADER_PATH) \
268 $(NN_HEADER_PATH) \
269 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100270 $(ARMNN_THIRD_PARTY_PATH) \
271 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000272 $(ARMNN_DRIVER_HEADER_PATH)
273
274LOCAL_CFLAGS := \
275 -std=$(CPP_VERSION) \
276 -fexceptions \
277 -Werror \
278 -O0 \
279 -UNDEBUG \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000280 -DBOOST_NO_AUTO_PTR \
Mike Kelly0e415132020-02-11 11:21:25 +0000281 -DARMNN_ANDROID_NN_V1_2
282
Kevin Mayec1e5b82020-02-26 17:00:39 +0000283# Required to build with the changes made to the Android ML framework specific to Android R
Sadik Armagan188675f2021-02-12 17:16:42 +0000284ifeq ($(ANDROID_R),1)
Kevin Mayec1e5b82020-02-26 17:00:39 +0000285LOCAL_CFLAGS+= \
286 -DARMNN_ANDROID_R
287endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000288
Sadik Armagan188675f2021-02-12 17:16:42 +0000289ifeq ($(ANDROID_S),1)
290LOCAL_CFLAGS+= \
291 -DARMNN_ANDROID_S
292endif # S or later
293
Mike Kelly0e415132020-02-11 11:21:25 +0000294LOCAL_SRC_FILES := \
295 1.0/Convolution2D.cpp \
296 1.1/Convolution2D.cpp \
297 1.1/Mean.cpp \
298 1.1/Transpose.cpp \
299 1.2/Dilation.cpp \
300 1.2/Capabilities.cpp \
301 1.0/Lstm.cpp \
302 1.1/Lstm.cpp \
303 1.2/Lstm.cpp \
304 Tests.cpp \
305 UtilsTests.cpp \
306 Concurrent.cpp \
307 FullyConnected.cpp \
308 GenericLayerTests.cpp \
309 DriverTestHelpers.cpp \
310 SystemProperties.cpp \
311 Concat.cpp \
312 TestTensor.cpp
313
314LOCAL_STATIC_LIBRARIES := \
315 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000316 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000317 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000318 arm_compute_library
319
320LOCAL_WHOLE_STATIC_LIBRARIES := \
321 libarmnn-driver@1.2
322
323LOCAL_SHARED_LIBRARIES := \
324 libbase \
325 libcutils \
326 libfmq \
327 libhidlbase \
328 libhidltransport \
329 libhidlmemory \
330 liblog \
331 libnativewindow \
332 libtextclassifier_hash \
333 libui \
334 libutils \
335 android.hardware.neuralnetworks@1.0 \
336 android.hardware.neuralnetworks@1.1 \
337 android.hardware.neuralnetworks@1.2 \
338 android.hidl.allocator@1.0 \
339 android.hidl.memory@1.0
340
Kevin Mayec1e5b82020-02-26 17:00:39 +0000341ifeq ($(R_OR_LATER),1)
342LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100343 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000344 android.hardware.neuralnetworks@1.3
345endif # R or later
346
alered017c395b22020-04-03 15:37:24 +0100347ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000348LOCAL_SHARED_LIBRARIES+= \
349 libOpenCL
350endif
351
352include $(BUILD_EXECUTABLE)
353
Sadik Armagan6a903a72020-05-26 10:41:54 +0100354endif # PLATFORM_VERSION == Q
355
356ifeq ($(R_OR_LATER),1)
357# The following target is available starting from Android R
358
359##########################
360# armnn-driver-tests@1.3 #
361##########################
362include $(CLEAR_VARS)
363
364LOCAL_MODULE := armnn-driver-tests@1.3
365LOCAL_MODULE_TAGS := optional
366
367LOCAL_ARM_MODE := arm
368LOCAL_PROPRIETARY_MODULE := true
369
370# Mark source files as dependent on Android.mk
371LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
372
373LOCAL_C_INCLUDES := \
374 $(OPENCL_HEADER_PATH) \
375 $(NN_HEADER_PATH) \
376 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100377 $(ARMNN_THIRD_PARTY_PATH) \
378 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100379 $(ARMNN_DRIVER_HEADER_PATH)
380
381LOCAL_CFLAGS := \
382 -std=$(CPP_VERSION) \
383 -fexceptions \
384 -Werror \
385 -O0 \
386 -UNDEBUG \
387 -DBOOST_NO_AUTO_PTR \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100388 -DARMNN_ANDROID_NN_V1_3
389
Sadik Armagan188675f2021-02-12 17:16:42 +0000390ifeq ($(ANDROID_R),1)
391LOCAL_CFLAGS+= \
392 -DARMNN_ANDROID_R
393endif
394
395ifeq ($(ANDROID_S),1)
396LOCAL_CFLAGS+= \
397 -DARMNN_ANDROID_S
398endif
399
Sadik Armagan6a903a72020-05-26 10:41:54 +0100400LOCAL_SRC_FILES := \
401 1.0/Convolution2D.cpp \
402 1.1/Convolution2D.cpp \
403 1.1/Mean.cpp \
404 1.1/Transpose.cpp \
405 1.2/Dilation.cpp \
406 1.2/Capabilities.cpp \
407 1.0/Lstm.cpp \
408 1.1/Lstm.cpp \
409 1.2/Lstm.cpp \
410 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100411 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100412 Tests.cpp \
413 UtilsTests.cpp \
414 Concurrent.cpp \
415 FullyConnected.cpp \
416 GenericLayerTests.cpp \
417 DriverTestHelpers.cpp \
418 SystemProperties.cpp \
419 Concat.cpp \
420 TestTensor.cpp
421
422LOCAL_STATIC_LIBRARIES := \
423 libneuralnetworks_common \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100424 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000425 libflatbuffers-framework \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100426 arm_compute_library
427
428LOCAL_WHOLE_STATIC_LIBRARIES := \
429 libarmnn-driver@1.3
430
431LOCAL_SHARED_LIBRARIES := \
432 libbase \
433 libcutils \
434 libfmq \
435 libhidlbase \
436 libhidltransport \
437 libhidlmemory \
438 liblog \
439 libnativewindow \
440 libtextclassifier_hash \
441 libui \
442 libutils \
443 libsync \
444 android.hardware.neuralnetworks@1.0 \
445 android.hardware.neuralnetworks@1.1 \
446 android.hardware.neuralnetworks@1.2 \
447 android.hardware.neuralnetworks@1.3 \
448 android.hidl.allocator@1.0 \
449 android.hidl.memory@1.0
450
451ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
452LOCAL_SHARED_LIBRARIES+= \
453 libOpenCL
454endif
455
456include $(BUILD_EXECUTABLE)
457
458endif # PLATFORM_VERSION == R