SConscript 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from building import *
  2. import os
  3. if GetDepend(['PKG_USING_TENSORFLOWLITEMICRO_REFERENCE']):
  4. src = Glob('kernels/*.cc') + Glob('*.c') + Glob('*.cc') + Glob('benchmarks/*.cc') \
  5. + Glob('examples/person_detection_experimental/*.cc') \
  6. + Glob('memory_planner/*.cc') + Glob('testing/*.cc') + Glob('kernels/cmsis-nn/*.cc') \
  7. + Glob('tools/make/downloads/person_model_int8/*.cc')
  8. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ActivationFunctions/*.c')
  9. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/BasicMathFunctions/*.c')
  10. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ConcatenationFunctions/*.c')
  11. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ConvolutionFunctions/*.c')
  12. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/FullyConnectedFunctions/*.c')
  13. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/NNSupportFunctions/*.c')
  14. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/PoolingFunctions/*.c')
  15. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ReshapeFunctions/*.c')
  16. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/SoftmaxFunctions/*.c')
  17. if GetDepend(['PKG_USING_TENSORFLOWLITEMICRO_CMSISNN']):
  18. src = Glob('kernels/*.cc') + Glob('*.c') + Glob('*.cc') + Glob('benchmarks/*.cc') \
  19. + Glob('examples/person_detection_experimental/*.cc') \
  20. + Glob('memory_planner/*.cc') + Glob('testing/*.cc') + Glob('kernels/cmsis-nn/*.cc') \
  21. + Glob('tools/make/downloads/person_model_int8/*.cc')
  22. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ActivationFunctions/*.c')
  23. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/BasicMathFunctions/*.c')
  24. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ConcatenationFunctions/*.c')
  25. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ConvolutionFunctions/*.c')
  26. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/FullyConnectedFunctions/*.c')
  27. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/NNSupportFunctions/*.c')
  28. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/PoolingFunctions/*.c')
  29. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/ReshapeFunctions/*.c')
  30. src += Glob('tools/make/downloads/cmsis/CMSIS/NN/Source/SoftmaxFunctions/*.c')
  31. #.
  32. root = str(Dir('#'))
  33. packages = os.path.join(root, 'packages')
  34. file_list = os.listdir(packages)
  35. for f in file_list:
  36. if(f.split('-')[0] == 'TensorflowLiteMicro'):
  37. tflm_pkg = os.path.join(packages, f)
  38. break
  39. #./third_party/flatbuffer/include
  40. flatbuffer = os.path.join(tflm_pkg, "third_party/flatbuffers/include")
  41. #./third_party/gemmlowp
  42. gemmlowp = os.path.join(tflm_pkg, "third_party/gemmlowp")
  43. #./third_party/kissfft
  44. kissfft = os.path.join(tflm_pkg, "third_party/kissfft")
  45. #./third_party/ruy
  46. ruy = os.path.join(tflm_pkg, "third_party/ruy")
  47. #./tensorflow/lite/micro/tools/make/downloads
  48. cmsis = os.path.join(tflm_pkg, "tensorflow/lite/micro/tools/make/downloads")
  49. CPPPATH = [tflm_pkg, flatbuffer, gemmlowp, kissfft, ruy, cmsis]
  50. group = DefineGroup('lite', src, depend = ['PKG_USING_TENSORFLOWLITEMICRO'], CPPPATH = CPPPATH)
  51. Return('group')