blob: 83f95658eb517453ff622f1c264986118837cdb3 [file] [log] [blame]
# Copyright (c) 2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
if(CONFIG_TENSORFLOW_LITE_MICRO)
set(TENSORFLOW_LITE_MICRO_DIR ${ZEPHYR_CURRENT_MODULE_DIR})
zephyr_library()
zephyr_include_directories(
${TENSORFLOW_LITE_MICRO_DIR}/.
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/flatbuffers/include
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/ruy
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/kissfft
)
zephyr_library_sources(
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/all_ops_resolver.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/simple_memory_allocator.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_helpers.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/test_helpers.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_utils.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/recording_micro_allocator.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_time.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/recording_simple_memory_allocator.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_string.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_profiler.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/debug_log.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_error_reporter.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_interpreter.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_allocator.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/benchmarks/keyword_scrambled_model_data.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/dequantize.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/pad.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/ethosu.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/shape.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/l2norm.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/resize_nearest_neighbor.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/tanh.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/pack.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/kernel_util.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/arg_min_max.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/round.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/unpack.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/add.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/softmax.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/split_v.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/kernel_runner.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/circular_buffer.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/floor.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/hard_swish.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/sub.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/concatenation.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/conv.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/svdf.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/ceil.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/elementwise.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/fully_connected.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/maximum_minimum.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/reshape.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/reduce.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/strided_slice.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/neg.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/logical.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/quantize.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/mul.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/comparisons.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/depthwise_conv.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/split.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/logistic.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/pooling.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/activations.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/prelu.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_planner/linear_memory_planner.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_planner/greedy_memory_planner.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/testing/test_conv_model.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/c/common.c
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/error_reporter.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/flatbuffer_conversions.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/op_resolver.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/tensor_utils.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/quantization_util.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/kernel_util.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/schema/schema_utils.cc
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/compatibility.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_time.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_utils.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_op_resolver.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/simple_memory_allocator.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_helpers.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/test_helpers.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/recording_micro_interpreter.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/recording_micro_allocator.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_error_reporter.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/debug_log.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/recording_simple_memory_allocator.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_string.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_profiler.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_mutable_op_resolver.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/all_ops_resolver.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_interpreter.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/micro_allocator.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/benchmarks/keyword_scrambled_model_data.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/activation_utils.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/micro_utils.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/kernel_runner.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/micro_ops.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/kernel_util.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/kernels/fully_connected.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_planner/linear_memory_planner.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_planner/memory_planner.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h
${TENSORFLOW_LITE_MICRO_DIR}/LICENSE
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/core/public/version.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/c/builtin_op_data.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/c/common.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/error_reporter.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/flatbuffer_conversions.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/op_resolver.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/profiler.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/core/api/tensor_utils.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/common.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/compatibility.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/optimized/neon_check.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/quantization_util.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/add.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/arg_min_max.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/binary_function.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/ceil.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/comparisons.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/concatenation.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/conv.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/depthwiseconv_float.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/depthwiseconv_uint8.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/dequantize.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/floor.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/fully_connected.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/hard_swish.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/add.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/conv.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/depthwise_conv.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/fully_connected.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/logistic.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/l2normalization.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/mean.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/mul.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/integer_ops/tanh.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/l2normalization.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/maximum_minimum.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/mul.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/neg.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/pad.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/pooling.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/prelu.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/process_broadcast_shapes.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/quantize.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/reduce.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/requantize.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/resize_nearest_neighbor.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/round.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/softmax.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/sub.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/logistic.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/strided_slice.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/reference/tanh.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/cppmath.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/max.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/min.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/portable_tensor.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/strided_slice_logic.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/tensor_ctypes.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/internal/types.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/kernel_util.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/op_macros.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/kernels/padding.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/portable_type_to_tflitetype.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/schema/schema_generated.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/schema/schema_utils.h
${TENSORFLOW_LITE_MICRO_DIR}/tensorflow/lite/version.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp/fixedpoint/fixedpoint.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp/fixedpoint/fixedpoint_neon.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp/fixedpoint/fixedpoint_sse.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp/internal/detect_platform.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/gemmlowp/LICENSE
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/flatbuffers/include/flatbuffers/base.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/flatbuffers/include/flatbuffers/stl_emulation.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/flatbuffers/include/flatbuffers/flatbuffers.h
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/flatbuffers/LICENSE.txt
${TENSORFLOW_LITE_MICRO_DIR}/third_party_static/ruy/ruy/profiler/instrumentation.h
)
endif()