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