export_project.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Copyright (c) 2022, RT-Thread Development Team
  5. #
  6. # SPDX-License-Identifier: Apache-2.0
  7. #
  8. # Email: opensource_embedded@phytium.com.cn
  9. #
  10. #
  11. # Change Logs:
  12. # Date Author Notes
  13. # 2022-11-15 zhugengyu The first version
  14. #
  15. import os
  16. import shutil
  17. import argparse
  18. parser = argparse.ArgumentParser()
  19. parser.description='please enter two parameters <project-name> and <export-path> ...'
  20. parser.add_argument("-n", "--name", help="project name", type=str, default="phytium-a64")
  21. parser.add_argument("-o", "--output", help="export path", type=str, default="./phytium-a64")
  22. args = parser.parse_args()
  23. print('=== Exporting Phytium BSP for RT-Studio ====')
  24. board_src_path = os.path.abspath(r'../board')
  25. librs_src_path = os.path.abspath(r'../libraries')
  26. board_dst_path = os.path.abspath(r'./board')
  27. librs_dst_path = os.path.abspath(r'./libraries')
  28. print(' Copying BSP board from {} to {}'.format(board_src_path, board_dst_path))
  29. print(' Copying BSP libraries from {} to {}'.format(librs_src_path, librs_dst_path))
  30. if os.path.exists(board_dst_path):
  31. shutil.rmtree(board_dst_path)
  32. if os.path.exists(librs_dst_path):
  33. shutil.rmtree(librs_dst_path)
  34. shutil.copytree(board_src_path, board_dst_path)
  35. shutil.copytree(librs_src_path, librs_dst_path)
  36. os.system('scons --dist-ide --project-name={} --project-path={}'.format(args.name, args.output))
  37. if os.path.exists(board_dst_path):
  38. shutil.rmtree(board_dst_path)
  39. if os.path.exists(librs_dst_path):
  40. shutil.rmtree(librs_dst_path)