blob: 13a36b54d18fc163da91278e8cd9c151f88b487e [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
13ARMNN_DRIVER_HEADER_PATH := $(LOCAL_PATH)/..
14
15##########################
16# armnn-driver-tests@1.0 #
17##########################
18include $(CLEAR_VARS)
19
20LOCAL_MODULE := armnn-driver-tests@1.0
21ifeq ($(Q_OR_LATER),1)
22# "eng" is deprecated in Android Q
23LOCAL_MODULE_TAGS := optional
24else
25LOCAL_MODULE_TAGS := eng optional
26endif
27LOCAL_ARM_MODE := arm
28LOCAL_PROPRIETARY_MODULE := true
29# Mark source files as dependent on Android.mk
30LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
31
32LOCAL_C_INCLUDES := \
33 $(OPENCL_HEADER_PATH) \
34 $(NN_HEADER_PATH) \
35 $(ARMNN_HEADER_PATH) \
36 $(ARMNN_DRIVER_HEADER_PATH)
37
38LOCAL_CFLAGS := \
39 -std=$(CPP_VERSION) \
40 -fexceptions \
41 -Werror \
42 -O0 \
43 -UNDEBUG
44
45ifeq ($(P_OR_LATER),1)
46# Required to build with the changes made to the Android ML framework starting from Android P,
47# regardless of the HAL version used for the build.
48LOCAL_CFLAGS+= \
49 -DARMNN_ANDROID_P
50endif # PLATFORM_VERSION == 9
51
52ifeq ($(Q_OR_LATER),1)
53LOCAL_CFLAGS += \
54 -DBOOST_NO_AUTO_PTR
55endif # PLATFORM_VERSION == Q or later
56
57LOCAL_SRC_FILES := \
58 1.0/Convolution2D.cpp \
59 1.0/FullyConnectedReshape.cpp \
60 1.0/Lstm.cpp \
61 Tests.cpp \
62 UtilsTests.cpp \
63 Concurrent.cpp \
64 FullyConnected.cpp \
65 GenericLayerTests.cpp \
66 DriverTestHelpers.cpp \
67 SystemProperties.cpp \
68 Concat.cpp \
69 TestTensor.cpp
70
71LOCAL_STATIC_LIBRARIES := \
72 libneuralnetworks_common \
73 libboost_log \
74 libboost_system \
75 libboost_unit_test_framework \
76 libboost_thread \
77 libboost_filesystem \
78 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
111ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
112LOCAL_SHARED_LIBRARIES+= \
113 libOpenCL
114endif
115
116include $(BUILD_EXECUTABLE)
117
118ifeq ($(P_OR_LATER),1)
119# The following target is available starting from Android P
120
121##########################
122# armnn-driver-tests@1.1 #
123##########################
124include $(CLEAR_VARS)
125
126LOCAL_MODULE := armnn-driver-tests@1.1
127ifeq ($(Q_OR_LATER),1)
128# "eng" is deprecated in Android Q
129LOCAL_MODULE_TAGS := optional
130else
131LOCAL_MODULE_TAGS := eng optional
132endif
133#PRODUCT_PACKAGES_ENG := libarmnn
134LOCAL_ARM_MODE := arm
135LOCAL_PROPRIETARY_MODULE := true
136# Mark source files as dependent on Android.mk
137LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
138
139LOCAL_C_INCLUDES := \
140 $(OPENCL_HEADER_PATH) \
141 $(NN_HEADER_PATH) \
142 $(ARMNN_HEADER_PATH) \
143 $(ARMNN_DRIVER_HEADER_PATH)
144
145LOCAL_CFLAGS := \
146 -std=$(CPP_VERSION) \
147 -fexceptions \
148 -Werror \
149 -O0 \
150 -UNDEBUG \
151 -DARMNN_ANDROID_P \
152 -DARMNN_ANDROID_NN_V1_1
153
154ifeq ($(Q_OR_LATER),1)
155LOCAL_CFLAGS += \
156 -DBOOST_NO_AUTO_PTR
157endif # PLATFORM_VERSION == Q or later
158
159LOCAL_SRC_FILES := \
160 1.0/Convolution2D.cpp \
161 1.1/Convolution2D.cpp \
162 1.1/Mean.cpp \
163 1.1/Transpose.cpp \
164 1.0/Lstm.cpp \
165 1.1/Lstm.cpp \
166 Tests.cpp \
167 UtilsTests.cpp \
168 Concurrent.cpp \
169 FullyConnected.cpp \
170 GenericLayerTests.cpp \
171 DriverTestHelpers.cpp \
172 SystemProperties.cpp \
173 Concat.cpp \
174 TestTensor.cpp
175
176LOCAL_STATIC_LIBRARIES := \
177 libneuralnetworks_common \
178 libboost_log \
179 libboost_system \
180 libboost_unit_test_framework \
181 libboost_thread \
182 libboost_filesystem \
183 arm_compute_library
184
185LOCAL_WHOLE_STATIC_LIBRARIES := \
186 libarmnn-driver@1.1
187
188LOCAL_SHARED_LIBRARIES := \
189 libbase \
190 libhidlbase \
191 libhidltransport \
192 libhidlmemory \
193 liblog \
194 libtextclassifier_hash \
195 libutils \
196 android.hardware.neuralnetworks@1.0 \
197 android.hardware.neuralnetworks@1.1 \
198 android.hidl.allocator@1.0 \
199 android.hidl.memory@1.0
200
201ifeq ($(Q_OR_LATER),1)
202LOCAL_SHARED_LIBRARIES+= \
203 libnativewindow \
204 libui \
205 libfmq \
206 libcutils \
207 android.hardware.neuralnetworks@1.2
208endif # PLATFORM_VERSION == Q
209
210ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
211LOCAL_SHARED_LIBRARIES+= \
212 libOpenCL
213endif
214
215include $(BUILD_EXECUTABLE)
216
217endif # PLATFORM_VERSION == 9
218
219ifeq ($(Q_OR_LATER),1)
220# The following target is available starting from Android Q
221
222##########################
223# armnn-driver-tests@1.2 #
224##########################
225include $(CLEAR_VARS)
226
227LOCAL_MODULE := armnn-driver-tests@1.2
228LOCAL_MODULE_TAGS := optional
229
230LOCAL_ARM_MODE := arm
231LOCAL_PROPRIETARY_MODULE := true
232
233# Mark source files as dependent on Android.mk
234LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
235
236LOCAL_C_INCLUDES := \
237 $(OPENCL_HEADER_PATH) \
238 $(NN_HEADER_PATH) \
239 $(ARMNN_HEADER_PATH) \
240 $(ARMNN_DRIVER_HEADER_PATH)
241
242LOCAL_CFLAGS := \
243 -std=$(CPP_VERSION) \
244 -fexceptions \
245 -Werror \
246 -O0 \
247 -UNDEBUG \
248 -DARMNN_ANDROID_Q \
249 -DARMNN_ANDROID_NN_V1_2
250
251ifeq ($(Q_OR_LATER),1)
252LOCAL_CFLAGS += \
253 -DBOOST_NO_AUTO_PTR
254endif # PLATFORM_VERSION == Q or later
255
256LOCAL_SRC_FILES := \
257 1.0/Convolution2D.cpp \
258 1.1/Convolution2D.cpp \
259 1.1/Mean.cpp \
260 1.1/Transpose.cpp \
261 1.2/Dilation.cpp \
262 1.2/Capabilities.cpp \
263 1.0/Lstm.cpp \
264 1.1/Lstm.cpp \
265 1.2/Lstm.cpp \
266 Tests.cpp \
267 UtilsTests.cpp \
268 Concurrent.cpp \
269 FullyConnected.cpp \
270 GenericLayerTests.cpp \
271 DriverTestHelpers.cpp \
272 SystemProperties.cpp \
273 Concat.cpp \
274 TestTensor.cpp
275
276LOCAL_STATIC_LIBRARIES := \
277 libneuralnetworks_common \
278 libboost_log \
279 libboost_system \
280 libboost_unit_test_framework \
281 libboost_thread \
282 libboost_filesystem \
283 arm_compute_library
284
285LOCAL_WHOLE_STATIC_LIBRARIES := \
286 libarmnn-driver@1.2
287
288LOCAL_SHARED_LIBRARIES := \
289 libbase \
290 libcutils \
291 libfmq \
292 libhidlbase \
293 libhidltransport \
294 libhidlmemory \
295 liblog \
296 libnativewindow \
297 libtextclassifier_hash \
298 libui \
299 libutils \
300 android.hardware.neuralnetworks@1.0 \
301 android.hardware.neuralnetworks@1.1 \
302 android.hardware.neuralnetworks@1.2 \
303 android.hidl.allocator@1.0 \
304 android.hidl.memory@1.0
305
306ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
307LOCAL_SHARED_LIBRARIES+= \
308 libOpenCL
309endif
310
311include $(BUILD_EXECUTABLE)
312
313endif # PLATFORM_VERSION == Q