blob: 2b87a41d129b90c0954a1e8ed5beef346e3313fe [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
11NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
12ARMNN_HEADER_PATH := $(LOCAL_PATH)/../armnn/include
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
17##########################
18# armnn-driver-tests@1.0 #
19##########################
20include $(CLEAR_VARS)
21
22LOCAL_MODULE := armnn-driver-tests@1.0
23ifeq ($(Q_OR_LATER),1)
24# "eng" is deprecated in Android Q
25LOCAL_MODULE_TAGS := optional
26else
27LOCAL_MODULE_TAGS := eng optional
28endif
29LOCAL_ARM_MODE := arm
30LOCAL_PROPRIETARY_MODULE := true
31# Mark source files as dependent on Android.mk
32LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
33
34LOCAL_C_INCLUDES := \
35 $(OPENCL_HEADER_PATH) \
36 $(NN_HEADER_PATH) \
37 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +010038 $(ARMNN_THIRD_PARTY_PATH) \
39 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +000040 $(ARMNN_DRIVER_HEADER_PATH)
41
42LOCAL_CFLAGS := \
43 -std=$(CPP_VERSION) \
44 -fexceptions \
45 -Werror \
46 -O0 \
47 -UNDEBUG
48
Kevin Mayec1e5b82020-02-26 17:00:39 +000049# Required to build with the changes made to the Android ML framework specific to Android R
50ifeq ($(R_OR_LATER),1)
Mike Kelly0e415132020-02-11 11:21:25 +000051LOCAL_CFLAGS+= \
Kevin Mayec1e5b82020-02-26 17:00:39 +000052 -DARMNN_ANDROID_R
53endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +000054
55ifeq ($(Q_OR_LATER),1)
56LOCAL_CFLAGS += \
57 -DBOOST_NO_AUTO_PTR
58endif # PLATFORM_VERSION == Q or later
59
60LOCAL_SRC_FILES := \
61 1.0/Convolution2D.cpp \
62 1.0/FullyConnectedReshape.cpp \
63 1.0/Lstm.cpp \
64 Tests.cpp \
65 UtilsTests.cpp \
66 Concurrent.cpp \
67 FullyConnected.cpp \
68 GenericLayerTests.cpp \
69 DriverTestHelpers.cpp \
70 SystemProperties.cpp \
71 Concat.cpp \
72 TestTensor.cpp
73
74LOCAL_STATIC_LIBRARIES := \
75 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +000076 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +000077 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +000078 arm_compute_library
79
80LOCAL_WHOLE_STATIC_LIBRARIES := \
81 libarmnn-driver@1.0
82
83LOCAL_SHARED_LIBRARIES := \
84 libbase \
85 libhidlbase \
86 libhidltransport \
87 libhidlmemory \
88 liblog \
89 libtextclassifier_hash \
90 libutils \
91 android.hardware.neuralnetworks@1.0 \
92 android.hidl.allocator@1.0 \
93 android.hidl.memory@1.0
94
95ifeq ($(P_OR_LATER),1)
96# Required to build the 1.0 version of the NN Driver on Android P and later versions,
97# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
98LOCAL_SHARED_LIBRARIES+= \
99 android.hardware.neuralnetworks@1.1
100endif # PLATFORM_VERSION == 9
101
102ifeq ($(Q_OR_LATER),1)
103LOCAL_SHARED_LIBRARIES+= \
104 libnativewindow \
105 libui \
106 libfmq \
107 libcutils \
108 android.hardware.neuralnetworks@1.2
109endif # PLATFORM_VERSION == Q
110
Kevin Mayec1e5b82020-02-26 17:00:39 +0000111ifeq ($(R_OR_LATER),1)
112LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100113 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000114 android.hardware.neuralnetworks@1.3
115endif # R or later
116
alered017c395b22020-04-03 15:37:24 +0100117ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000118LOCAL_SHARED_LIBRARIES+= \
119 libOpenCL
120endif
121
122include $(BUILD_EXECUTABLE)
123
124ifeq ($(P_OR_LATER),1)
125# The following target is available starting from Android P
126
127##########################
128# armnn-driver-tests@1.1 #
129##########################
130include $(CLEAR_VARS)
131
132LOCAL_MODULE := armnn-driver-tests@1.1
133ifeq ($(Q_OR_LATER),1)
134# "eng" is deprecated in Android Q
135LOCAL_MODULE_TAGS := optional
136else
137LOCAL_MODULE_TAGS := eng optional
138endif
139#PRODUCT_PACKAGES_ENG := libarmnn
140LOCAL_ARM_MODE := arm
141LOCAL_PROPRIETARY_MODULE := true
142# Mark source files as dependent on Android.mk
143LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
144
145LOCAL_C_INCLUDES := \
146 $(OPENCL_HEADER_PATH) \
147 $(NN_HEADER_PATH) \
148 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100149 $(ARMNN_THIRD_PARTY_PATH) \
150 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000151 $(ARMNN_DRIVER_HEADER_PATH)
152
153LOCAL_CFLAGS := \
154 -std=$(CPP_VERSION) \
155 -fexceptions \
156 -Werror \
157 -O0 \
158 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000159 -DARMNN_ANDROID_NN_V1_1
160
Kevin Mayec1e5b82020-02-26 17:00:39 +0000161# Required to build with the changes made to the Android ML framework specific to Android R
162ifeq ($(R_OR_LATER),1)
163LOCAL_CFLAGS+= \
164 -DARMNN_ANDROID_R
165endif # R or later
166
Mike Kelly0e415132020-02-11 11:21:25 +0000167ifeq ($(Q_OR_LATER),1)
168LOCAL_CFLAGS += \
169 -DBOOST_NO_AUTO_PTR
170endif # PLATFORM_VERSION == Q or later
171
172LOCAL_SRC_FILES := \
173 1.0/Convolution2D.cpp \
174 1.1/Convolution2D.cpp \
175 1.1/Mean.cpp \
176 1.1/Transpose.cpp \
177 1.0/Lstm.cpp \
178 1.1/Lstm.cpp \
179 Tests.cpp \
180 UtilsTests.cpp \
181 Concurrent.cpp \
182 FullyConnected.cpp \
183 GenericLayerTests.cpp \
184 DriverTestHelpers.cpp \
185 SystemProperties.cpp \
186 Concat.cpp \
187 TestTensor.cpp
188
189LOCAL_STATIC_LIBRARIES := \
190 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000191 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000192 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000193 arm_compute_library
194
195LOCAL_WHOLE_STATIC_LIBRARIES := \
196 libarmnn-driver@1.1
197
198LOCAL_SHARED_LIBRARIES := \
199 libbase \
200 libhidlbase \
201 libhidltransport \
202 libhidlmemory \
203 liblog \
204 libtextclassifier_hash \
205 libutils \
206 android.hardware.neuralnetworks@1.0 \
207 android.hardware.neuralnetworks@1.1 \
208 android.hidl.allocator@1.0 \
209 android.hidl.memory@1.0
210
211ifeq ($(Q_OR_LATER),1)
212LOCAL_SHARED_LIBRARIES+= \
213 libnativewindow \
214 libui \
215 libfmq \
216 libcutils \
217 android.hardware.neuralnetworks@1.2
218endif # PLATFORM_VERSION == Q
219
Kevin Mayec1e5b82020-02-26 17:00:39 +0000220ifeq ($(R_OR_LATER),1)
221LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100222 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000223 android.hardware.neuralnetworks@1.3
224endif # R or later
225
alered017c395b22020-04-03 15:37:24 +0100226ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000227LOCAL_SHARED_LIBRARIES+= \
228 libOpenCL
229endif
230
231include $(BUILD_EXECUTABLE)
232
233endif # PLATFORM_VERSION == 9
234
235ifeq ($(Q_OR_LATER),1)
236# The following target is available starting from Android Q
237
238##########################
239# armnn-driver-tests@1.2 #
240##########################
241include $(CLEAR_VARS)
242
243LOCAL_MODULE := armnn-driver-tests@1.2
244LOCAL_MODULE_TAGS := optional
245
246LOCAL_ARM_MODE := arm
247LOCAL_PROPRIETARY_MODULE := true
248
249# Mark source files as dependent on Android.mk
250LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
251
252LOCAL_C_INCLUDES := \
253 $(OPENCL_HEADER_PATH) \
254 $(NN_HEADER_PATH) \
255 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100256 $(ARMNN_THIRD_PARTY_PATH) \
257 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000258 $(ARMNN_DRIVER_HEADER_PATH)
259
260LOCAL_CFLAGS := \
261 -std=$(CPP_VERSION) \
262 -fexceptions \
263 -Werror \
264 -O0 \
265 -UNDEBUG \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000266 -DBOOST_NO_AUTO_PTR \
Mike Kelly0e415132020-02-11 11:21:25 +0000267 -DARMNN_ANDROID_NN_V1_2
268
Kevin Mayec1e5b82020-02-26 17:00:39 +0000269# Required to build with the changes made to the Android ML framework specific to Android R
270ifeq ($(R_OR_LATER),1)
271LOCAL_CFLAGS+= \
272 -DARMNN_ANDROID_R
273endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000274
275LOCAL_SRC_FILES := \
276 1.0/Convolution2D.cpp \
277 1.1/Convolution2D.cpp \
278 1.1/Mean.cpp \
279 1.1/Transpose.cpp \
280 1.2/Dilation.cpp \
281 1.2/Capabilities.cpp \
282 1.0/Lstm.cpp \
283 1.1/Lstm.cpp \
284 1.2/Lstm.cpp \
285 Tests.cpp \
286 UtilsTests.cpp \
287 Concurrent.cpp \
288 FullyConnected.cpp \
289 GenericLayerTests.cpp \
290 DriverTestHelpers.cpp \
291 SystemProperties.cpp \
292 Concat.cpp \
293 TestTensor.cpp
294
295LOCAL_STATIC_LIBRARIES := \
296 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000297 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000298 libflatbuffers-framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000299 arm_compute_library
300
301LOCAL_WHOLE_STATIC_LIBRARIES := \
302 libarmnn-driver@1.2
303
304LOCAL_SHARED_LIBRARIES := \
305 libbase \
306 libcutils \
307 libfmq \
308 libhidlbase \
309 libhidltransport \
310 libhidlmemory \
311 liblog \
312 libnativewindow \
313 libtextclassifier_hash \
314 libui \
315 libutils \
316 android.hardware.neuralnetworks@1.0 \
317 android.hardware.neuralnetworks@1.1 \
318 android.hardware.neuralnetworks@1.2 \
319 android.hidl.allocator@1.0 \
320 android.hidl.memory@1.0
321
Kevin Mayec1e5b82020-02-26 17:00:39 +0000322ifeq ($(R_OR_LATER),1)
323LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100324 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000325 android.hardware.neuralnetworks@1.3
326endif # R or later
327
alered017c395b22020-04-03 15:37:24 +0100328ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000329LOCAL_SHARED_LIBRARIES+= \
330 libOpenCL
331endif
332
333include $(BUILD_EXECUTABLE)
334
Sadik Armagan6a903a72020-05-26 10:41:54 +0100335endif # PLATFORM_VERSION == Q
336
337ifeq ($(R_OR_LATER),1)
338# The following target is available starting from Android R
339
340##########################
341# armnn-driver-tests@1.3 #
342##########################
343include $(CLEAR_VARS)
344
345LOCAL_MODULE := armnn-driver-tests@1.3
346LOCAL_MODULE_TAGS := optional
347
348LOCAL_ARM_MODE := arm
349LOCAL_PROPRIETARY_MODULE := true
350
351# Mark source files as dependent on Android.mk
352LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
353
354LOCAL_C_INCLUDES := \
355 $(OPENCL_HEADER_PATH) \
356 $(NN_HEADER_PATH) \
357 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100358 $(ARMNN_THIRD_PARTY_PATH) \
359 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100360 $(ARMNN_DRIVER_HEADER_PATH)
361
362LOCAL_CFLAGS := \
363 -std=$(CPP_VERSION) \
364 -fexceptions \
365 -Werror \
366 -O0 \
367 -UNDEBUG \
368 -DBOOST_NO_AUTO_PTR \
369 -DARMNN_ANDROID_R \
370 -DARMNN_ANDROID_NN_V1_3
371
372LOCAL_SRC_FILES := \
373 1.0/Convolution2D.cpp \
374 1.1/Convolution2D.cpp \
375 1.1/Mean.cpp \
376 1.1/Transpose.cpp \
377 1.2/Dilation.cpp \
378 1.2/Capabilities.cpp \
379 1.0/Lstm.cpp \
380 1.1/Lstm.cpp \
381 1.2/Lstm.cpp \
382 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100383 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100384 Tests.cpp \
385 UtilsTests.cpp \
386 Concurrent.cpp \
387 FullyConnected.cpp \
388 GenericLayerTests.cpp \
389 DriverTestHelpers.cpp \
390 SystemProperties.cpp \
391 Concat.cpp \
392 TestTensor.cpp
393
394LOCAL_STATIC_LIBRARIES := \
395 libneuralnetworks_common \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100396 libboost_unit_test_framework \
Sadik Armaganf36e10b2021-01-11 16:34:01 +0000397 libflatbuffers-framework \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100398 arm_compute_library
399
400LOCAL_WHOLE_STATIC_LIBRARIES := \
401 libarmnn-driver@1.3
402
403LOCAL_SHARED_LIBRARIES := \
404 libbase \
405 libcutils \
406 libfmq \
407 libhidlbase \
408 libhidltransport \
409 libhidlmemory \
410 liblog \
411 libnativewindow \
412 libtextclassifier_hash \
413 libui \
414 libutils \
415 libsync \
416 android.hardware.neuralnetworks@1.0 \
417 android.hardware.neuralnetworks@1.1 \
418 android.hardware.neuralnetworks@1.2 \
419 android.hardware.neuralnetworks@1.3 \
420 android.hidl.allocator@1.0 \
421 android.hidl.memory@1.0
422
423ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
424LOCAL_SHARED_LIBRARIES+= \
425 libOpenCL
426endif
427
428include $(BUILD_EXECUTABLE)
429
430endif # PLATFORM_VERSION == R