telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 1 | # |
| 2 | # Copyright © 2017 ARM Ltd. All rights reserved. |
| 3 | # See LICENSE file in the project root for full license information. |
| 4 | # |
| 5 | |
| 6 | LOCAL_PATH := $(call my-dir) |
| 7 | |
| 8 | # Configure these paths if you move the source or Khronos headers |
| 9 | # |
surmeh01 | 3537c2c | 2018-05-18 16:31:43 +0100 | [diff] [blame] | 10 | OPENCL_HEADER_PATH := $(LOCAL_PATH)/../clframework/include |
telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 11 | NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include |
| 12 | ARMNN_HEADER_PATH := $(LOCAL_PATH)/include |
| 13 | ARMNN_SOURCE_HEADER_PATH := $(LOCAL_PATH)/src/armnn |
surmeh01 | 4c7098b | 2018-07-05 14:03:08 +0100 | [diff] [blame^] | 14 | ARMNN_SOURCE_UTILS_HEADER_PATH := $(LOCAL_PATH)/src/armnnUtils |
| 15 | |
| 16 | ############## |
| 17 | # libarmnn.a # |
| 18 | ############## |
| 19 | include $(CLEAR_VARS) |
| 20 | |
| 21 | LOCAL_MODULE := libarmnn |
| 22 | LOCAL_MODULE_TAGS := eng optional |
| 23 | LOCAL_ARM_MODE := arm |
| 24 | LOCAL_PROPRIETARY_MODULE := true |
| 25 | |
| 26 | # Mark source files as dependent on Android.mk |
| 27 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk |
| 28 | |
| 29 | LOCAL_EXPORT_C_INCLUDES := \ |
| 30 | $(ARMNN_SOURCE_HEADER_PATH) \ |
| 31 | $(ARMNN_SOURCE_UTILS_HEADER_PATH) |
| 32 | |
| 33 | LOCAL_C_INCLUDES := \ |
| 34 | $(OPENCL_HEADER_PATH) \ |
| 35 | $(NN_HEADER_PATH) \ |
| 36 | $(ARMNN_HEADER_PATH) \ |
| 37 | $(ARMNN_SOURCE_HEADER_PATH) \ |
| 38 | $(ARMNN_SOURCE_UTILS_HEADER_PATH) |
| 39 | |
| 40 | LOCAL_SRC_FILES := \ |
| 41 | src/armnnUtils/Logging.cpp \ |
| 42 | src/armnnUtils/Permute.cpp \ |
| 43 | src/armnnUtils/DotSerializer.cpp \ |
| 44 | src/armnn/backends/ArmComputeTensorUtils.cpp \ |
| 45 | src/armnn/backends/ClWorkloads/ClActivationFloat32Workload.cpp \ |
| 46 | src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp \ |
| 47 | src/armnn/backends/ClWorkloads/ClAdditionFloat32Workload.cpp \ |
| 48 | src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp \ |
| 49 | src/armnn/backends/ClWorkloads/ClBatchNormalizationFloat32Workload.cpp \ |
| 50 | src/armnn/backends/ClWorkloads/ClConstantFloat32Workload.cpp \ |
| 51 | src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp \ |
| 52 | src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp \ |
| 53 | src/armnn/backends/ClWorkloads/ClConvolution2dFloat32Workload.cpp \ |
| 54 | src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp \ |
| 55 | src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloat32Workload.cpp \ |
| 56 | src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp \ |
| 57 | src/armnn/backends/ClWorkloads/ClFloorFloat32Workload.cpp \ |
| 58 | src/armnn/backends/ClWorkloads/ClFullyConnectedFloat32Workload.cpp \ |
| 59 | src/armnn/backends/ClWorkloads/ClL2NormalizationFloat32Workload.cpp \ |
| 60 | src/armnn/backends/ClWorkloads/ClMergerFloat32Workload.cpp \ |
| 61 | src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp \ |
| 62 | src/armnn/backends/ClWorkloads/ClMultiplicationFloat32Workload.cpp \ |
| 63 | src/armnn/backends/ClWorkloads/ClNormalizationFloat32Workload.cpp \ |
| 64 | src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp \ |
| 65 | src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp \ |
| 66 | src/armnn/backends/ClWorkloads/ClPooling2dFloat32Workload.cpp \ |
| 67 | src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp \ |
| 68 | src/armnn/backends/ClWorkloads/ClReshapeFloat32Workload.cpp \ |
| 69 | src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp \ |
| 70 | src/armnn/backends/ClWorkloads/ClResizeBilinearFloat32Workload.cpp \ |
| 71 | src/armnn/backends/ClWorkloads/ClSoftmaxFloat32Workload.cpp \ |
| 72 | src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp \ |
| 73 | src/armnn/backends/ClWorkloads/ClSplitterFloat32Workload.cpp \ |
| 74 | src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp \ |
| 75 | src/armnn/backends/NeonWorkloads/NeonActivationFloat32Workload.cpp \ |
| 76 | src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp \ |
| 77 | src/armnn/backends/NeonWorkloads/NeonAdditionFloat32Workload.cpp \ |
| 78 | src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp \ |
| 79 | src/armnn/backends/NeonWorkloads/NeonConstantFloat32Workload.cpp \ |
| 80 | src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp \ |
| 81 | src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp \ |
| 82 | src/armnn/backends/NeonWorkloads/NeonConvolution2dFloat32Workload.cpp \ |
| 83 | src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp \ |
| 84 | src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloat32Workload.cpp \ |
| 85 | src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp \ |
| 86 | src/armnn/backends/NeonWorkloads/NeonFloorFloat32Workload.cpp \ |
| 87 | src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloat32Workload.cpp \ |
| 88 | src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloat32Workload.cpp \ |
| 89 | src/armnn/backends/NeonWorkloads/NeonMergerFloat32Workload.cpp \ |
| 90 | src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp \ |
| 91 | src/armnn/backends/NeonWorkloads/NeonMultiplicationFloat32Workload.cpp \ |
| 92 | src/armnn/backends/NeonWorkloads/NeonNormalizationFloat32Workload.cpp \ |
| 93 | src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp \ |
| 94 | src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp \ |
| 95 | src/armnn/backends/NeonWorkloads/NeonPooling2dFloat32Workload.cpp \ |
| 96 | src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp \ |
| 97 | src/armnn/backends/NeonWorkloads/NeonReshapeFloat32Workload.cpp \ |
| 98 | src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp \ |
| 99 | src/armnn/backends/NeonWorkloads/NeonSoftmaxFloat32Workload.cpp \ |
| 100 | src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp \ |
| 101 | src/armnn/backends/NeonWorkloads/NeonSplitterFloat32Workload.cpp \ |
| 102 | src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp \ |
| 103 | src/armnn/backends/ClWorkloadFactory.cpp \ |
| 104 | src/armnn/backends/ClContextControl.cpp \ |
| 105 | src/armnn/backends/CpuTensorHandle.cpp \ |
| 106 | src/armnn/backends/RefWorkloadFactory.cpp \ |
| 107 | src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp \ |
| 108 | src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp \ |
| 109 | src/armnn/backends/RefWorkloads/FullyConnected.cpp \ |
| 110 | src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp \ |
| 111 | src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp \ |
| 112 | src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp \ |
| 113 | src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp \ |
| 114 | src/armnn/backends/RefWorkloads/Multiplication.cpp \ |
| 115 | src/armnn/backends/RefWorkloads/RefMultiplicationUint8Workload.cpp \ |
| 116 | src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp \ |
| 117 | src/armnn/backends/RefWorkloads/RefAdditionUint8Workload.cpp \ |
| 118 | src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp \ |
| 119 | src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp \ |
| 120 | src/armnn/backends/RefWorkloads/Broadcast.cpp \ |
| 121 | src/armnn/backends/RefWorkloads/Addition.cpp \ |
| 122 | src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp \ |
| 123 | src/armnn/backends/RefWorkloads/ResizeBilinear.cpp \ |
| 124 | src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp \ |
| 125 | src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp \ |
| 126 | src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp \ |
| 127 | src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp \ |
| 128 | src/armnn/backends/RefWorkloads/ConvImpl.cpp \ |
| 129 | src/armnn/backends/RefWorkloads/Activation.cpp \ |
| 130 | src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp \ |
| 131 | src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp \ |
| 132 | src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp \ |
| 133 | src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp \ |
| 134 | src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp \ |
| 135 | src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp \ |
| 136 | src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp \ |
| 137 | src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp \ |
| 138 | src/armnn/backends/RefWorkloads/RefMultiplicationFloat32Workload.cpp \ |
| 139 | src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp \ |
| 140 | src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp \ |
| 141 | src/armnn/backends/RefWorkloads/Softmax.cpp \ |
| 142 | src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp \ |
| 143 | src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp \ |
| 144 | src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp \ |
| 145 | src/armnn/backends/RefWorkloads/Pooling2d.cpp \ |
| 146 | src/armnn/backends/RefWorkloads/RefAdditionFloat32Workload.cpp \ |
| 147 | src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp \ |
| 148 | src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp \ |
| 149 | src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp \ |
| 150 | src/armnn/backends/MemCopyWorkload.cpp \ |
| 151 | src/armnn/backends/WorkloadData.cpp \ |
| 152 | src/armnn/backends/WorkloadFactory.cpp \ |
| 153 | src/armnn/backends/AclBaseMemoryManager.cpp \ |
| 154 | src/armnn/layers/ActivationLayer.cpp \ |
| 155 | src/armnn/layers/AdditionLayer.cpp \ |
| 156 | src/armnn/layers/BatchNormalizationLayer.cpp \ |
| 157 | src/armnn/layers/ConstantLayer.cpp \ |
| 158 | src/armnn/layers/Convolution2dLayer.cpp \ |
| 159 | src/armnn/layers/DepthwiseConvolution2dLayer.cpp \ |
| 160 | src/armnn/layers/FakeQuantizationLayer.cpp \ |
| 161 | src/armnn/layers/FloorLayer.cpp \ |
| 162 | src/armnn/layers/FullyConnectedLayer.cpp \ |
| 163 | src/armnn/layers/InputLayer.cpp \ |
| 164 | src/armnn/layers/L2NormalizationLayer.cpp \ |
| 165 | src/armnn/layers/MemCopyLayer.cpp \ |
| 166 | src/armnn/layers/MergerLayer.cpp \ |
| 167 | src/armnn/layers/MultiplicationLayer.cpp \ |
| 168 | src/armnn/layers/NormalizationLayer.cpp \ |
| 169 | src/armnn/layers/OutputLayer.cpp \ |
| 170 | src/armnn/layers/PermuteLayer.cpp \ |
| 171 | src/armnn/layers/Pooling2dLayer.cpp \ |
| 172 | src/armnn/layers/ReshapeLayer.cpp \ |
| 173 | src/armnn/layers/ResizeBilinearLayer.cpp \ |
| 174 | src/armnn/layers/SoftmaxLayer.cpp \ |
| 175 | src/armnn/layers/SplitterLayer.cpp \ |
| 176 | src/armnn/Descriptors.cpp \ |
| 177 | src/armnn/Exceptions.cpp \ |
| 178 | src/armnn/Graph.cpp \ |
| 179 | src/armnn/Optimizer.cpp \ |
| 180 | src/armnn/Runtime.cpp \ |
| 181 | src/armnn/SerializeLayerParameters.cpp \ |
| 182 | src/armnn/InternalTypes.cpp \ |
| 183 | src/armnn/Layer.cpp \ |
| 184 | src/armnn/LoadedNetwork.cpp \ |
| 185 | src/armnn/Network.cpp \ |
| 186 | src/armnn/backends/OutputHandler.cpp \ |
| 187 | src/armnn/Profiling.cpp \ |
| 188 | src/armnn/Tensor.cpp \ |
| 189 | src/armnn/Utils.cpp \ |
| 190 | src/armnn/LayerSupport.cpp \ |
| 191 | src/armnn/backends/RefLayerSupport.cpp \ |
| 192 | src/armnn/backends/ClLayerSupport.cpp \ |
| 193 | src/armnn/backends/NeonLayerSupport.cpp \ |
| 194 | src/armnn/backends/NeonWorkloadUtils.cpp \ |
| 195 | src/armnn/backends/NeonWorkloadFactory.cpp |
| 196 | |
| 197 | LOCAL_STATIC_LIBRARIES := \ |
| 198 | armnn-arm_compute \ |
| 199 | libboost_log \ |
| 200 | libboost_system \ |
| 201 | libboost_thread |
| 202 | |
| 203 | LOCAL_SHARED_LIBRARIES := \ |
| 204 | liblog |
| 205 | |
| 206 | LOCAL_CFLAGS := \ |
| 207 | -std=c++14 \ |
| 208 | -fexceptions \ |
| 209 | -DARMCOMPUTECL_ENABLED \ |
| 210 | -DARMCOMPUTENEON_ENABLED \ |
| 211 | -Wno-unused-parameter \ |
| 212 | -frtti |
| 213 | |
| 214 | include $(BUILD_STATIC_LIBRARY) |
telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 215 | |
| 216 | include $(CLEAR_VARS) |
| 217 | |
| 218 | LOCAL_C_INCLUDES := \ |
| 219 | $(OPENCL_HEADER_PATH) \ |
| 220 | $(NN_HEADER_PATH) \ |
| 221 | $(ARMNN_HEADER_PATH) \ |
surmeh01 | 4c7098b | 2018-07-05 14:03:08 +0100 | [diff] [blame^] | 222 | $(ARMNN_SOURCE_HEADER_PATH) \ |
| 223 | $(ARMNN_SOURCE_UTILS_HEADER_PATH) |
telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 224 | |
| 225 | LOCAL_CFLAGS := \ |
| 226 | -std=c++14 \ |
| 227 | -fexceptions \ |
| 228 | -frtti \ |
| 229 | -isystem vendor/arm/android-nn-driver/boost_1_64_0 \ |
| 230 | -DARMCOMPUTECL_ENABLED \ |
| 231 | -DARMCOMPUTENEON_ENABLED |
| 232 | |
| 233 | LOCAL_SRC_FILES := \ |
| 234 | src/armnn/test/UnitTests.cpp \ |
surmeh01 | 3537c2c | 2018-05-18 16:31:43 +0100 | [diff] [blame] | 235 | src/armnn/test/EndToEndTest.cpp \ |
| 236 | src/armnn/test/UtilsTests.cpp \ |
| 237 | src/armnn/test/GraphTests.cpp \ |
| 238 | src/armnn/test/RuntimeTests.cpp \ |
| 239 | src/armnn/test/TensorTest.cpp \ |
| 240 | src/armnn/test/Network_test.cpp \ |
| 241 | src/armnn/backends/test/IsLayerSupportedTest.cpp \ |
| 242 | src/armnn/backends/test/Reference.cpp \ |
| 243 | src/armnn/backends/test/WorkloadDataValidation.cpp \ |
| 244 | src/armnn/backends/test/TensorCopyUtils.cpp \ |
| 245 | src/armnn/backends/test/LayerTests.cpp \ |
| 246 | src/armnn/backends/test/CreateWorkloadRef.cpp \ |
telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 247 | src/armnn/backends/test/ArmComputeCl.cpp \ |
| 248 | src/armnn/backends/test/ArmComputeNeon.cpp \ |
| 249 | src/armnn/backends/test/CreateWorkloadCl.cpp \ |
| 250 | src/armnn/backends/test/CreateWorkloadNeon.cpp \ |
| 251 | src/armnn/backends/test/MemCopyTests.cpp |
| 252 | |
| 253 | LOCAL_STATIC_LIBRARIES := \ |
| 254 | libneuralnetworks_common \ |
| 255 | libarmnn \ |
| 256 | libboost_log \ |
| 257 | libboost_system \ |
| 258 | libboost_unit_test_framework \ |
| 259 | libboost_thread \ |
| 260 | armnn-arm_compute |
| 261 | |
| 262 | LOCAL_SHARED_LIBRARIES := \ |
| 263 | libbase \ |
| 264 | libhidlbase \ |
| 265 | libhidltransport \ |
| 266 | libhidlmemory \ |
| 267 | liblog \ |
| 268 | libutils \ |
| 269 | android.hardware.neuralnetworks@1.0 \ |
| 270 | android.hidl.allocator@1.0 \ |
| 271 | android.hidl.memory@1.0 \ |
| 272 | libOpenCL |
| 273 | |
| 274 | LOCAL_MODULE := armnn-tests |
| 275 | |
| 276 | LOCAL_MODULE_TAGS := eng optional |
| 277 | |
| 278 | LOCAL_ARM_MODE := arm |
| 279 | |
| 280 | # Mark source files as dependent on Android.mk |
| 281 | LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk |
| 282 | |
surmeh01 | 3537c2c | 2018-05-18 16:31:43 +0100 | [diff] [blame] | 283 | LOCAL_PROPRIETARY_MODULE := true |
| 284 | |
telsoa01 | 4fcda01 | 2018-03-09 14:13:49 +0000 | [diff] [blame] | 285 | include $(BUILD_EXECUTABLE) |
| 286 | |
| 287 | |
| 288 | |