blob: f6439c6f44d19f735584212b0a9f92dcbea24789 [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 \
Mike Kelly0e415132020-02-11 11:21:25 +000077 arm_compute_library
78
79LOCAL_WHOLE_STATIC_LIBRARIES := \
80 libarmnn-driver@1.0
81
82LOCAL_SHARED_LIBRARIES := \
83 libbase \
84 libhidlbase \
85 libhidltransport \
86 libhidlmemory \
87 liblog \
88 libtextclassifier_hash \
89 libutils \
90 android.hardware.neuralnetworks@1.0 \
91 android.hidl.allocator@1.0 \
92 android.hidl.memory@1.0
93
94ifeq ($(P_OR_LATER),1)
95# Required to build the 1.0 version of the NN Driver on Android P and later versions,
96# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
97LOCAL_SHARED_LIBRARIES+= \
98 android.hardware.neuralnetworks@1.1
99endif # PLATFORM_VERSION == 9
100
101ifeq ($(Q_OR_LATER),1)
102LOCAL_SHARED_LIBRARIES+= \
103 libnativewindow \
104 libui \
105 libfmq \
106 libcutils \
107 android.hardware.neuralnetworks@1.2
108endif # PLATFORM_VERSION == Q
109
Kevin Mayec1e5b82020-02-26 17:00:39 +0000110ifeq ($(R_OR_LATER),1)
111LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100112 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000113 android.hardware.neuralnetworks@1.3
114endif # R or later
115
alered017c395b22020-04-03 15:37:24 +0100116ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000117LOCAL_SHARED_LIBRARIES+= \
118 libOpenCL
119endif
120
121include $(BUILD_EXECUTABLE)
122
123ifeq ($(P_OR_LATER),1)
124# The following target is available starting from Android P
125
126##########################
127# armnn-driver-tests@1.1 #
128##########################
129include $(CLEAR_VARS)
130
131LOCAL_MODULE := armnn-driver-tests@1.1
132ifeq ($(Q_OR_LATER),1)
133# "eng" is deprecated in Android Q
134LOCAL_MODULE_TAGS := optional
135else
136LOCAL_MODULE_TAGS := eng optional
137endif
138#PRODUCT_PACKAGES_ENG := libarmnn
139LOCAL_ARM_MODE := arm
140LOCAL_PROPRIETARY_MODULE := true
141# Mark source files as dependent on Android.mk
142LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
143
144LOCAL_C_INCLUDES := \
145 $(OPENCL_HEADER_PATH) \
146 $(NN_HEADER_PATH) \
147 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100148 $(ARMNN_THIRD_PARTY_PATH) \
149 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000150 $(ARMNN_DRIVER_HEADER_PATH)
151
152LOCAL_CFLAGS := \
153 -std=$(CPP_VERSION) \
154 -fexceptions \
155 -Werror \
156 -O0 \
157 -UNDEBUG \
Mike Kelly0e415132020-02-11 11:21:25 +0000158 -DARMNN_ANDROID_NN_V1_1
159
Kevin Mayec1e5b82020-02-26 17:00:39 +0000160# Required to build with the changes made to the Android ML framework specific to Android R
161ifeq ($(R_OR_LATER),1)
162LOCAL_CFLAGS+= \
163 -DARMNN_ANDROID_R
164endif # R or later
165
Mike Kelly0e415132020-02-11 11:21:25 +0000166ifeq ($(Q_OR_LATER),1)
167LOCAL_CFLAGS += \
168 -DBOOST_NO_AUTO_PTR
169endif # PLATFORM_VERSION == Q or later
170
171LOCAL_SRC_FILES := \
172 1.0/Convolution2D.cpp \
173 1.1/Convolution2D.cpp \
174 1.1/Mean.cpp \
175 1.1/Transpose.cpp \
176 1.0/Lstm.cpp \
177 1.1/Lstm.cpp \
178 Tests.cpp \
179 UtilsTests.cpp \
180 Concurrent.cpp \
181 FullyConnected.cpp \
182 GenericLayerTests.cpp \
183 DriverTestHelpers.cpp \
184 SystemProperties.cpp \
185 Concat.cpp \
186 TestTensor.cpp
187
188LOCAL_STATIC_LIBRARIES := \
189 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000190 libboost_unit_test_framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000191 arm_compute_library
192
193LOCAL_WHOLE_STATIC_LIBRARIES := \
194 libarmnn-driver@1.1
195
196LOCAL_SHARED_LIBRARIES := \
197 libbase \
198 libhidlbase \
199 libhidltransport \
200 libhidlmemory \
201 liblog \
202 libtextclassifier_hash \
203 libutils \
204 android.hardware.neuralnetworks@1.0 \
205 android.hardware.neuralnetworks@1.1 \
206 android.hidl.allocator@1.0 \
207 android.hidl.memory@1.0
208
209ifeq ($(Q_OR_LATER),1)
210LOCAL_SHARED_LIBRARIES+= \
211 libnativewindow \
212 libui \
213 libfmq \
214 libcutils \
215 android.hardware.neuralnetworks@1.2
216endif # PLATFORM_VERSION == Q
217
Kevin Mayec1e5b82020-02-26 17:00:39 +0000218ifeq ($(R_OR_LATER),1)
219LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100220 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000221 android.hardware.neuralnetworks@1.3
222endif # R or later
223
alered017c395b22020-04-03 15:37:24 +0100224ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000225LOCAL_SHARED_LIBRARIES+= \
226 libOpenCL
227endif
228
229include $(BUILD_EXECUTABLE)
230
231endif # PLATFORM_VERSION == 9
232
233ifeq ($(Q_OR_LATER),1)
234# The following target is available starting from Android Q
235
236##########################
237# armnn-driver-tests@1.2 #
238##########################
239include $(CLEAR_VARS)
240
241LOCAL_MODULE := armnn-driver-tests@1.2
242LOCAL_MODULE_TAGS := optional
243
244LOCAL_ARM_MODE := arm
245LOCAL_PROPRIETARY_MODULE := true
246
247# Mark source files as dependent on Android.mk
248LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
249
250LOCAL_C_INCLUDES := \
251 $(OPENCL_HEADER_PATH) \
252 $(NN_HEADER_PATH) \
253 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100254 $(ARMNN_THIRD_PARTY_PATH) \
255 $(ARMNN_UTILS_HEADER_PATH) \
Mike Kelly0e415132020-02-11 11:21:25 +0000256 $(ARMNN_DRIVER_HEADER_PATH)
257
258LOCAL_CFLAGS := \
259 -std=$(CPP_VERSION) \
260 -fexceptions \
261 -Werror \
262 -O0 \
263 -UNDEBUG \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000264 -DBOOST_NO_AUTO_PTR \
Mike Kelly0e415132020-02-11 11:21:25 +0000265 -DARMNN_ANDROID_NN_V1_2
266
Kevin Mayec1e5b82020-02-26 17:00:39 +0000267# Required to build with the changes made to the Android ML framework specific to Android R
268ifeq ($(R_OR_LATER),1)
269LOCAL_CFLAGS+= \
270 -DARMNN_ANDROID_R
271endif # R or later
Mike Kelly0e415132020-02-11 11:21:25 +0000272
273LOCAL_SRC_FILES := \
274 1.0/Convolution2D.cpp \
275 1.1/Convolution2D.cpp \
276 1.1/Mean.cpp \
277 1.1/Transpose.cpp \
278 1.2/Dilation.cpp \
279 1.2/Capabilities.cpp \
280 1.0/Lstm.cpp \
281 1.1/Lstm.cpp \
282 1.2/Lstm.cpp \
283 Tests.cpp \
284 UtilsTests.cpp \
285 Concurrent.cpp \
286 FullyConnected.cpp \
287 GenericLayerTests.cpp \
288 DriverTestHelpers.cpp \
289 SystemProperties.cpp \
290 Concat.cpp \
291 TestTensor.cpp
292
293LOCAL_STATIC_LIBRARIES := \
294 libneuralnetworks_common \
Mike Kelly0e415132020-02-11 11:21:25 +0000295 libboost_unit_test_framework \
Mike Kelly0e415132020-02-11 11:21:25 +0000296 arm_compute_library
297
298LOCAL_WHOLE_STATIC_LIBRARIES := \
299 libarmnn-driver@1.2
300
301LOCAL_SHARED_LIBRARIES := \
302 libbase \
303 libcutils \
304 libfmq \
305 libhidlbase \
306 libhidltransport \
307 libhidlmemory \
308 liblog \
309 libnativewindow \
310 libtextclassifier_hash \
311 libui \
312 libutils \
313 android.hardware.neuralnetworks@1.0 \
314 android.hardware.neuralnetworks@1.1 \
315 android.hardware.neuralnetworks@1.2 \
316 android.hidl.allocator@1.0 \
317 android.hidl.memory@1.0
318
Kevin Mayec1e5b82020-02-26 17:00:39 +0000319ifeq ($(R_OR_LATER),1)
320LOCAL_SHARED_LIBRARIES+= \
Sadik Armagand7be72e2020-04-23 12:56:05 +0100321 libsync \
Kevin Mayec1e5b82020-02-26 17:00:39 +0000322 android.hardware.neuralnetworks@1.3
323endif # R or later
324
alered017c395b22020-04-03 15:37:24 +0100325ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
Mike Kelly0e415132020-02-11 11:21:25 +0000326LOCAL_SHARED_LIBRARIES+= \
327 libOpenCL
328endif
329
330include $(BUILD_EXECUTABLE)
331
Sadik Armagan6a903a72020-05-26 10:41:54 +0100332endif # PLATFORM_VERSION == Q
333
334ifeq ($(R_OR_LATER),1)
335# The following target is available starting from Android R
336
337##########################
338# armnn-driver-tests@1.3 #
339##########################
340include $(CLEAR_VARS)
341
342LOCAL_MODULE := armnn-driver-tests@1.3
343LOCAL_MODULE_TAGS := optional
344
345LOCAL_ARM_MODE := arm
346LOCAL_PROPRIETARY_MODULE := true
347
348# Mark source files as dependent on Android.mk
349LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
350
351LOCAL_C_INCLUDES := \
352 $(OPENCL_HEADER_PATH) \
353 $(NN_HEADER_PATH) \
354 $(ARMNN_HEADER_PATH) \
Colm Donelan08d9a1c2020-09-09 17:56:55 +0100355 $(ARMNN_THIRD_PARTY_PATH) \
356 $(ARMNN_UTILS_HEADER_PATH) \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100357 $(ARMNN_DRIVER_HEADER_PATH)
358
359LOCAL_CFLAGS := \
360 -std=$(CPP_VERSION) \
361 -fexceptions \
362 -Werror \
363 -O0 \
364 -UNDEBUG \
365 -DBOOST_NO_AUTO_PTR \
366 -DARMNN_ANDROID_R \
367 -DARMNN_ANDROID_NN_V1_3
368
369LOCAL_SRC_FILES := \
370 1.0/Convolution2D.cpp \
371 1.1/Convolution2D.cpp \
372 1.1/Mean.cpp \
373 1.1/Transpose.cpp \
374 1.2/Dilation.cpp \
375 1.2/Capabilities.cpp \
376 1.0/Lstm.cpp \
377 1.1/Lstm.cpp \
378 1.2/Lstm.cpp \
379 1.3/QLstm.cpp \
David Monahan82609562020-08-31 15:50:32 +0100380 1.3/QosTests.cpp \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100381 Tests.cpp \
382 UtilsTests.cpp \
383 Concurrent.cpp \
384 FullyConnected.cpp \
385 GenericLayerTests.cpp \
386 DriverTestHelpers.cpp \
387 SystemProperties.cpp \
388 Concat.cpp \
389 TestTensor.cpp
390
391LOCAL_STATIC_LIBRARIES := \
392 libneuralnetworks_common \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100393 libboost_unit_test_framework \
Sadik Armagan6a903a72020-05-26 10:41:54 +0100394 arm_compute_library
395
396LOCAL_WHOLE_STATIC_LIBRARIES := \
397 libarmnn-driver@1.3
398
399LOCAL_SHARED_LIBRARIES := \
400 libbase \
401 libcutils \
402 libfmq \
403 libhidlbase \
404 libhidltransport \
405 libhidlmemory \
406 liblog \
407 libnativewindow \
408 libtextclassifier_hash \
409 libui \
410 libutils \
411 libsync \
412 android.hardware.neuralnetworks@1.0 \
413 android.hardware.neuralnetworks@1.1 \
414 android.hardware.neuralnetworks@1.2 \
415 android.hardware.neuralnetworks@1.3 \
416 android.hidl.allocator@1.0 \
417 android.hidl.memory@1.0
418
419ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
420LOCAL_SHARED_LIBRARIES+= \
421 libOpenCL
422endif
423
424include $(BUILD_EXECUTABLE)
425
426endif # PLATFORM_VERSION == R