• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
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_THIRD_PARTY_PATH   := $(LOCAL_PATH)/../armnn/third-party
14ARMNN_UTILS_HEADER_PATH := $(LOCAL_PATH)/../armnn/src/armnnUtils
15ARMNN_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
23LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
24LOCAL_LICENSE_CONDITIONS := notice
25LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
26ifeq ($(Q_OR_LATER),1)
27# "eng" is deprecated in Android Q
28LOCAL_MODULE_TAGS := optional
29else
30LOCAL_MODULE_TAGS := eng optional
31endif
32LOCAL_ARM_MODE := arm
33LOCAL_PROPRIETARY_MODULE := true
34# Mark source files as dependent on Android.mk
35LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
36
37LOCAL_C_INCLUDES := \
38        $(OPENCL_HEADER_PATH) \
39        $(NN_HEADER_PATH) \
40        $(ARMNN_HEADER_PATH) \
41        $(ARMNN_THIRD_PARTY_PATH) \
42        $(ARMNN_UTILS_HEADER_PATH) \
43        $(ARMNN_DRIVER_HEADER_PATH)
44
45LOCAL_CFLAGS := \
46        -std=$(CPP_VERSION) \
47        -fexceptions \
48        -Werror \
49        -O0 \
50        -UNDEBUG
51
52# Required to build with the changes made to the Android ML framework specific to Android R
53ifeq ($(R_OR_LATER),1)
54LOCAL_CFLAGS+= \
55        -DARMNN_ANDROID_R
56endif # R or later
57
58ifeq ($(Q_OR_LATER),1)
59LOCAL_CFLAGS += \
60        -DBOOST_NO_AUTO_PTR
61endif # PLATFORM_VERSION == Q or later
62
63LOCAL_SRC_FILES := \
64        1.0/Convolution2D.cpp \
65        1.0/FullyConnectedReshape.cpp \
66        1.0/Lstm.cpp \
67        Tests.cpp \
68        UtilsTests.cpp \
69        Concurrent.cpp \
70        FullyConnected.cpp \
71        GenericLayerTests.cpp \
72        DriverTestHelpers.cpp \
73        SystemProperties.cpp \
74        Concat.cpp \
75        TestTensor.cpp
76
77LOCAL_STATIC_LIBRARIES := \
78        libneuralnetworks_common \
79        libboost_unit_test_framework \
80        arm_compute_library
81
82LOCAL_WHOLE_STATIC_LIBRARIES := \
83        libarmnn-driver@1.0
84
85LOCAL_SHARED_LIBRARIES := \
86        libbase \
87        libhidlbase \
88        libhidltransport \
89        libhidlmemory \
90        liblog \
91        libtextclassifier_hash \
92        libutils \
93        android.hardware.neuralnetworks@1.0 \
94        android.hidl.allocator@1.0 \
95        android.hidl.memory@1.0
96
97ifeq ($(P_OR_LATER),1)
98# Required to build the 1.0 version of the NN Driver on Android P and later versions,
99# as the 1.0 version of the NN API needs the 1.1 HAL headers to be included regardless.
100LOCAL_SHARED_LIBRARIES+= \
101        android.hardware.neuralnetworks@1.1
102endif # PLATFORM_VERSION == 9
103
104ifeq ($(Q_OR_LATER),1)
105LOCAL_SHARED_LIBRARIES+= \
106        libnativewindow \
107        libui \
108        libfmq \
109        libcutils \
110        android.hardware.neuralnetworks@1.2
111endif # PLATFORM_VERSION == Q
112
113ifeq ($(R_OR_LATER),1)
114LOCAL_SHARED_LIBRARIES+= \
115        libsync \
116        android.hardware.neuralnetworks@1.3
117endif # R or later
118
119ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
120LOCAL_SHARED_LIBRARIES+= \
121        libGLES_mali
122endif
123
124include $(BUILD_EXECUTABLE)
125
126ifeq ($(P_OR_LATER),1)
127# The following target is available starting from Android P
128
129##########################
130# armnn-driver-tests@1.1 #
131##########################
132include $(CLEAR_VARS)
133
134LOCAL_MODULE := armnn-driver-tests@1.1
135LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
136LOCAL_LICENSE_CONDITIONS := notice
137LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
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) \
154        $(ARMNN_THIRD_PARTY_PATH) \
155        $(ARMNN_UTILS_HEADER_PATH) \
156        $(ARMNN_DRIVER_HEADER_PATH)
157
158LOCAL_CFLAGS := \
159        -std=$(CPP_VERSION) \
160        -fexceptions \
161        -Werror \
162        -O0 \
163        -UNDEBUG \
164        -DARMNN_ANDROID_NN_V1_1
165
166# Required to build with the changes made to the Android ML framework specific to Android R
167ifeq ($(R_OR_LATER),1)
168LOCAL_CFLAGS+= \
169        -DARMNN_ANDROID_R
170endif # R or later
171
172ifeq ($(Q_OR_LATER),1)
173LOCAL_CFLAGS += \
174        -DBOOST_NO_AUTO_PTR
175endif # PLATFORM_VERSION == Q or later
176
177LOCAL_SRC_FILES := \
178        1.0/Convolution2D.cpp \
179        1.1/Convolution2D.cpp \
180        1.1/Mean.cpp \
181        1.1/Transpose.cpp \
182        1.0/Lstm.cpp \
183        1.1/Lstm.cpp \
184        Tests.cpp \
185        UtilsTests.cpp \
186        Concurrent.cpp \
187        FullyConnected.cpp \
188        GenericLayerTests.cpp \
189        DriverTestHelpers.cpp \
190        SystemProperties.cpp \
191        Concat.cpp \
192        TestTensor.cpp
193
194LOCAL_STATIC_LIBRARIES := \
195        libneuralnetworks_common \
196        libboost_unit_test_framework \
197        arm_compute_library
198
199LOCAL_WHOLE_STATIC_LIBRARIES := \
200        libarmnn-driver@1.1
201
202LOCAL_SHARED_LIBRARIES := \
203        libbase \
204        libhidlbase \
205        libhidltransport \
206        libhidlmemory \
207        liblog \
208        libtextclassifier_hash \
209        libutils \
210        android.hardware.neuralnetworks@1.0 \
211        android.hardware.neuralnetworks@1.1 \
212        android.hidl.allocator@1.0 \
213        android.hidl.memory@1.0
214
215ifeq ($(Q_OR_LATER),1)
216LOCAL_SHARED_LIBRARIES+= \
217        libnativewindow \
218        libui \
219        libfmq \
220        libcutils \
221        android.hardware.neuralnetworks@1.2
222endif # PLATFORM_VERSION == Q
223
224ifeq ($(R_OR_LATER),1)
225LOCAL_SHARED_LIBRARIES+= \
226        libsync \
227        android.hardware.neuralnetworks@1.3
228endif # R or later
229
230ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
231LOCAL_SHARED_LIBRARIES+= \
232        libGLES_mali
233endif
234
235include $(BUILD_EXECUTABLE)
236
237endif # PLATFORM_VERSION == 9
238
239ifeq ($(Q_OR_LATER),1)
240# The following target is available starting from Android Q
241
242##########################
243# armnn-driver-tests@1.2 #
244##########################
245include $(CLEAR_VARS)
246
247LOCAL_MODULE := armnn-driver-tests@1.2
248LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
249LOCAL_LICENSE_CONDITIONS := notice
250LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
251LOCAL_MODULE_TAGS := optional
252
253LOCAL_ARM_MODE := arm
254LOCAL_PROPRIETARY_MODULE := true
255
256# Mark source files as dependent on Android.mk
257LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
258
259LOCAL_C_INCLUDES := \
260        $(OPENCL_HEADER_PATH) \
261        $(NN_HEADER_PATH) \
262        $(ARMNN_HEADER_PATH) \
263        $(ARMNN_THIRD_PARTY_PATH) \
264        $(ARMNN_UTILS_HEADER_PATH) \
265        $(ARMNN_DRIVER_HEADER_PATH)
266
267LOCAL_CFLAGS := \
268        -std=$(CPP_VERSION) \
269        -fexceptions \
270        -Werror \
271        -O0 \
272        -UNDEBUG \
273        -DBOOST_NO_AUTO_PTR \
274        -DARMNN_ANDROID_NN_V1_2
275
276# Required to build with the changes made to the Android ML framework specific to Android R
277ifeq ($(R_OR_LATER),1)
278LOCAL_CFLAGS+= \
279        -DARMNN_ANDROID_R
280endif # R or later
281
282LOCAL_SRC_FILES := \
283        1.0/Convolution2D.cpp \
284        1.1/Convolution2D.cpp \
285        1.1/Mean.cpp \
286        1.1/Transpose.cpp \
287        1.2/Dilation.cpp \
288        1.2/Capabilities.cpp \
289        1.0/Lstm.cpp \
290        1.1/Lstm.cpp \
291        1.2/Lstm.cpp \
292        Tests.cpp \
293        UtilsTests.cpp \
294        Concurrent.cpp \
295        FullyConnected.cpp \
296        GenericLayerTests.cpp \
297        DriverTestHelpers.cpp \
298        SystemProperties.cpp \
299        Concat.cpp \
300        TestTensor.cpp
301
302LOCAL_STATIC_LIBRARIES := \
303        libneuralnetworks_common \
304        libboost_unit_test_framework \
305        arm_compute_library
306
307LOCAL_WHOLE_STATIC_LIBRARIES := \
308        libarmnn-driver@1.2
309
310LOCAL_SHARED_LIBRARIES := \
311        libbase \
312        libcutils \
313        libfmq \
314        libhidlbase \
315        libhidltransport \
316        libhidlmemory \
317        liblog \
318        libnativewindow \
319        libtextclassifier_hash \
320        libui \
321        libutils \
322        android.hardware.neuralnetworks@1.0 \
323        android.hardware.neuralnetworks@1.1 \
324        android.hardware.neuralnetworks@1.2 \
325        android.hidl.allocator@1.0 \
326        android.hidl.memory@1.0
327
328ifeq ($(R_OR_LATER),1)
329LOCAL_SHARED_LIBRARIES+= \
330        libsync \
331        android.hardware.neuralnetworks@1.3
332endif # R or later
333
334ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
335LOCAL_SHARED_LIBRARIES+= \
336        libGLES_mali
337endif
338
339include $(BUILD_EXECUTABLE)
340
341endif # PLATFORM_VERSION == Q
342
343ifeq ($(R_OR_LATER),1)
344# The following target is available starting from Android R
345
346##########################
347# armnn-driver-tests@1.3 #
348##########################
349include $(CLEAR_VARS)
350
351LOCAL_MODULE := armnn-driver-tests@1.3
352LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
353LOCAL_LICENSE_CONDITIONS := notice
354LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../LICENSE
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) \
367        $(ARMNN_THIRD_PARTY_PATH) \
368        $(ARMNN_UTILS_HEADER_PATH) \
369        $(ARMNN_DRIVER_HEADER_PATH)
370
371LOCAL_CFLAGS := \
372        -std=$(CPP_VERSION) \
373        -fexceptions \
374        -Werror \
375        -O0 \
376        -UNDEBUG \
377        -DBOOST_NO_AUTO_PTR \
378        -DARMNN_ANDROID_R \
379        -DARMNN_ANDROID_NN_V1_3
380
381LOCAL_SRC_FILES := \
382        1.0/Convolution2D.cpp \
383        1.1/Convolution2D.cpp \
384        1.1/Mean.cpp \
385        1.1/Transpose.cpp \
386        1.2/Dilation.cpp \
387        1.2/Capabilities.cpp \
388        1.0/Lstm.cpp \
389        1.1/Lstm.cpp \
390        1.2/Lstm.cpp \
391        1.3/QLstm.cpp \
392        1.3/QosTests.cpp \
393        Tests.cpp \
394        UtilsTests.cpp \
395        Concurrent.cpp \
396        FullyConnected.cpp \
397        GenericLayerTests.cpp \
398        DriverTestHelpers.cpp \
399        SystemProperties.cpp \
400        Concat.cpp \
401        TestTensor.cpp
402
403LOCAL_STATIC_LIBRARIES := \
404        libneuralnetworks_common \
405        libboost_unit_test_framework \
406        arm_compute_library
407
408LOCAL_WHOLE_STATIC_LIBRARIES := \
409        libarmnn-driver@1.3
410
411LOCAL_SHARED_LIBRARIES := \
412        libbase \
413        libcutils \
414        libfmq \
415        libhidlbase \
416        libhidltransport \
417        libhidlmemory \
418        liblog \
419        libnativewindow \
420        libtextclassifier_hash \
421        libui \
422        libutils \
423        libsync \
424        android.hardware.neuralnetworks@1.0 \
425        android.hardware.neuralnetworks@1.1 \
426        android.hardware.neuralnetworks@1.2 \
427        android.hardware.neuralnetworks@1.3 \
428        android.hidl.allocator@1.0 \
429        android.hidl.memory@1.0
430
431ifeq ($(ARMNN_INCLUDE_LIBOPENCL),1)
432LOCAL_SHARED_LIBRARIES+= \
433        libOpenCL
434endif
435
436include $(BUILD_EXECUTABLE)
437
438endif # PLATFORM_VERSION == R
439