IVGCVSW-3656 Make the reference backend optional
[platform/upstream/armnn.git] / src / backends / reference / backend.mk
1 #
2 # Copyright © 2017 ARM Ltd. All rights reserved.
3 # SPDX-License-Identifier: MIT
4 #
5
6 # BACKEND_SOURCES contains the list of files to be included
7 # in the Android build and it is picked up by the Android.mk
8 # file in the root of ArmNN
9
10 # The variable to enable/disable the reference backend (ARMNN_COMPUTE_REF_ENABLED is declared in android-nn-driver/Android.mk)
11 ifeq ($(ARMNN_COMPUTE_REF_ENABLED),1)
12
13 # ARMNN_COMPUTE_REF_ENABLED == 1
14 # Include the source files for the reference backend
15
16 BACKEND_SOURCES := \
17         RefBackend.cpp \
18         RefLayerSupport.cpp \
19         RefMemoryManager.cpp \
20         RefTensorHandle.cpp \
21         RefWorkloadFactory.cpp \
22         RefRegistryInitializer.cpp \
23         RefTensorHandleFactory.cpp \
24         workloads/Activation.cpp \
25         workloads/BatchNormImpl.cpp \
26         workloads/BatchToSpaceNd.cpp \
27         workloads/Broadcast.cpp \
28         workloads/ConvImpl.cpp \
29         workloads/Debug.cpp \
30         workloads/DetectionPostProcess.cpp \
31         workloads/ElementwiseFunction.cpp \
32         workloads/FullyConnected.cpp \
33         workloads/Gather.cpp \
34         workloads/LstmUtils.cpp \
35         workloads/Mean.cpp \
36         workloads/Concatenate.cpp \
37         workloads/Pad.cpp \
38         workloads/Pooling2d.cpp \
39         workloads/PreluImpl.cpp \
40         workloads/RefActivationWorkload.cpp \
41         workloads/RefBatchNormalizationWorkload.cpp \
42         workloads/RefBatchToSpaceNdWorkload.cpp \
43         workloads/RefConcatWorkload.cpp \
44         workloads/RefConstantWorkload.cpp \
45         workloads/RefConvertFp16ToFp32Workload.cpp \
46         workloads/RefConvertFp32ToFp16Workload.cpp \
47         workloads/RefConvolution2dWorkload.cpp \
48         workloads/RefDebugWorkload.cpp \
49         workloads/RefDepthwiseConvolution2dWorkload.cpp \
50         workloads/RefDequantizeWorkload.cpp \
51         workloads/RefDetectionPostProcessWorkload.cpp \
52         workloads/RefElementwiseWorkload.cpp \
53         workloads/RefFakeQuantizationFloat32Workload.cpp \
54         workloads/RefFloorWorkload.cpp \
55         workloads/RefFullyConnectedWorkload.cpp \
56         workloads/RefGatherWorkload.cpp \
57         workloads/RefL2NormalizationWorkload.cpp \
58         workloads/RefLstmWorkload.cpp \
59         workloads/RefMeanWorkload.cpp \
60         workloads/RefNormalizationWorkload.cpp \
61         workloads/RefPadWorkload.cpp \
62         workloads/RefPermuteWorkload.cpp \
63         workloads/RefPooling2dWorkload.cpp \
64         workloads/RefPreluWorkload.cpp \
65         workloads/RefQuantizeWorkload.cpp \
66         workloads/RefReshapeWorkload.cpp \
67         workloads/RefResizeBilinearWorkload.cpp \
68         workloads/RefResizeWorkload.cpp \
69         workloads/RefRsqrtWorkload.cpp \
70         workloads/RefSoftmaxWorkload.cpp \
71         workloads/RefSpaceToBatchNdWorkload.cpp \
72         workloads/RefSpaceToDepthWorkload.cpp \
73         workloads/RefStackWorkload.cpp \
74         workloads/RefStridedSliceWorkload.cpp \
75         workloads/RefSplitterWorkload.cpp \
76         workloads/RefTransposeConvolution2dWorkload.cpp \
77         workloads/Resize.cpp \
78         workloads/Rsqrt.cpp \
79         workloads/SpaceToBatchNd.cpp \
80         workloads/SpaceToDepth.cpp \
81         workloads/Stack.cpp \
82         workloads/StridedSlice.cpp \
83         workloads/StringMapping.cpp \
84         workloads/Softmax.cpp \
85         workloads/Splitter.cpp \
86         workloads/TransposeConvolution2d.cpp
87 else
88
89 # ARMNN_COMPUTE_REF_ENABLED == 0
90 # No source file will be compiled for the reference backend
91
92 BACKEND_SOURCES :=
93
94 endif
95
96 # BACKEND_TEST_SOURCES contains the list of files to be included
97 # in the Android unit test build (armnn-tests) and it is picked
98 # up by the Android.mk file in the root of ArmNN
99
100 # The variable to enable/disable the CL backend (ARMNN_COMPUTE_REF_ENABLED is declared in android-nn-driver/Android.mk)
101 ifeq ($(ARMNN_COMPUTE_REF_ENABLED),1)
102
103 # ARMNN_COMPUTE_REF_ENABLED == 1
104 # Include the source files for the CL backend tests
105
106 BACKEND_TEST_SOURCES := \
107         test/RefCreateWorkloadTests.cpp \
108         test/RefDetectionPostProcessTests.cpp \
109         test/RefEndToEndTests.cpp \
110         test/RefJsonPrinterTests.cpp \
111         test/RefLayerSupportTests.cpp \
112         test/RefLayerTests.cpp \
113         test/RefMemoryManagerTests.cpp \
114         test/RefOptimizedNetworkTests.cpp \
115         test/RefRuntimeTests.cpp
116 else
117
118 # ARMNN_COMPUTE_REF_ENABLED == 0
119 # No source file will be compiled for the reference backend tests
120
121 BACKEND_TEST_SOURCES :=
122
123 endif