# 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()