SConscript 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. from building import *
  2. cwd = GetCurrentDir()
  3. path = [cwd + '/common']
  4. path += [cwd + '/core']
  5. path += [cwd + '/class/cdc']
  6. path += [cwd + '/class/msc']
  7. path += [cwd + '/class/hid']
  8. path += [cwd + '/class/audio']
  9. path += [cwd + '/class/video']
  10. path += [cwd + '/class/wireless']
  11. path += [cwd + '/class/dfu']
  12. src = []
  13. CPPDEFINES = []
  14. # USB DEVICE
  15. if GetDepend(['PKG_CHERRYUSB_DEVICE']):
  16. path += [cwd + '/osal']
  17. src += Glob('core/usbd_core.c')
  18. src += Glob('osal/usb_osal_rtthread.c')
  19. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  20. CPPDEFINES+=['CONFIG_USB_HS']
  21. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC']):
  22. src += Glob('class/cdc/usbd_cdc.c')
  23. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID']):
  24. src += Glob('class/hid/usbd_hid.c')
  25. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC']):
  26. src += Glob('class/msc/usbd_msc.c')
  27. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO']):
  28. src += Glob('class/audio/usbd_audio.c')
  29. if GetDepend(['PKG_CHERRYUSB_DEVICE_VIDEO']):
  30. src += Glob('class/video/usbd_video.c')
  31. if GetDepend(['PKG_CHERRYUSB_DEVICE_RNDIS']):
  32. src += Glob('class/wireless/usbd_rndis.c')
  33. if GetDepend(['PKG_CHERRYUSB_USING_DFU']):
  34. src += Glob('class/dfu/usbd_dfu.c')
  35. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_TEMPLATE']):
  36. src += Glob('demo/cdc_acm_template.c')
  37. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID_MOUSE_TEMPLATE']):
  38. src += Glob('demo/hid_mouse_template.c')
  39. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID_KEYBOARD_TEMPLATE']):
  40. src += Glob('demo/hid_keyboard_template.c')
  41. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC_TEMPLATE']):
  42. src += Glob('demo/msc_ram_template.c')
  43. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC_STORAGE_TEMPLATE']):
  44. src += Glob('demo/msc_storage_template.c')
  45. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO_V1_TEMPLATE']):
  46. src += Glob('demo/audio_v1_mic_speaker_multichan_template.c')
  47. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO_V2_TEMPLATE']):
  48. src += Glob('demo/audio_v2_mic_speaker_multichan_template.c')
  49. if GetDepend(['PKG_CHERRYUSB_DEVICE_VIDEO_TEMPLATE']):
  50. src += Glob('demo/video_static_mjpeg_template.c')
  51. if GetDepend(['PKG_CHERRYUSB_DEVICE_RNDIS_TEMPLATE']):
  52. src += Glob('demo/cdc_rndis_template.c')
  53. if GetDepend(['PKG_CHERRYUSB_DEVICE_FSDEV']):
  54. src += Glob('port/fsdev/usb_dc_fsdev.c')
  55. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2']):
  56. src += Glob('port/dwc2/usb_dc_dwc2.c')
  57. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_STM32']):
  58. src += Glob('port/dwc2/usb_glue_st.c')
  59. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB']):
  60. src += Glob('port/musb/usb_dc_musb.c')
  61. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB_SUNXI']):
  62. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  63. if GetDepend(['PKG_CHERRYUSB_DEVICE_HPM']):
  64. src += Glob('port/hpm/usb_dc_hpm.c')
  65. if GetDepend(['PKG_CHERRYUSB_DEVICE_CH32_CH32V307']):
  66. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  67. src += Glob('port/ch32/usb_dc_usbhs.c')
  68. else:
  69. src += Glob('port/ch32/usb_dc_usbfs.c')
  70. if GetDepend(['PKG_CHERRYUSB_DEVICE_PUSB2']):
  71. path += [cwd + '/port/pusb2/common']
  72. path += [cwd + '/port/pusb2/fpusb2']
  73. src += Glob('port/pusb2/fpusb2' + '/*.c')
  74. src += Glob('port/pusb2/usb_dc_pusb2.c')
  75. # USB HOST
  76. if GetDepend(['PKG_CHERRYUSB_HOST']):
  77. path += [cwd + '/osal']
  78. path += [cwd + '/class/hub']
  79. src += Glob('core/usbh_core.c')
  80. src += Glob('class/hub/usbh_hub.c')
  81. src += Glob('osal/usb_osal_rtthread.c')
  82. if GetDepend(['PKG_CHERRYUSB_HOST_CDC']):
  83. src += Glob('class/cdc/usbh_cdc_acm.c')
  84. if GetDepend(['PKG_CHERRYUSB_HOST_HID']):
  85. src += Glob('class/hid/usbh_hid.c')
  86. if GetDepend(['PKG_CHERRYUSB_HOST_MSC']):
  87. src += Glob('class/msc/usbh_msc.c')
  88. if GetDepend(['PKG_CHERRYUSB_HOST_RNDIS']):
  89. src += Glob('class/wireless/usbh_rndis.c')
  90. if GetDepend(['PKG_CHERRYUSB_HOST_CDC_ECM']):
  91. src += Glob('class/cdc/usbh_cdc_ecm.c')
  92. if GetDepend(['PKG_CHERRYUSB_HOST_BLUETOOTH']):
  93. src += Glob('class/wireless/usbh_bluetooth.c')
  94. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2']):
  95. src += Glob('port/dwc2/usb_hc_dwc2.c')
  96. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2_STM32']):
  97. src += Glob('port/dwc2/usb_glue_st.c')
  98. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB']):
  99. src += Glob('port/musb/usb_hc_musb.c')
  100. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB_SUNXI']):
  101. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  102. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI']):
  103. src += Glob('port/ehci/usb_hc_ehci.c')
  104. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_HPM']):
  105. src += Glob('port/ehci/usb_glue_hpm.c')
  106. if GetDepend(['PKG_CHERRYUSB_HOST_XHCI']):
  107. src += Glob('port/xhci/usb_hc_xhci.c')
  108. src += Glob('port/xhci/xhci_dbg.c')
  109. src += Glob('port/xhci/xhci.c')
  110. if GetDepend(['PKG_CHERRYUSB_HOST_PUSB2']):
  111. path += [cwd + '/port/pusb2/common']
  112. path += [cwd + '/port/pusb2/fpusb2']
  113. src += Glob('port/pusb2/fpusb2' + '/*.c')
  114. src += Glob('port/pusb2/usb_hc_pusb2.c')
  115. if GetDepend(['PKG_CHERRYUSB_HOST_TEMPLATE']):
  116. src += Glob('demo/usb_host.c')
  117. if GetDepend('RT_USING_DFS'):
  118. src += Glob('third_party/rt-thread-5.0/dfs_usbh_msc.c')
  119. src += Glob('third_party/rt-thread-5.0/msh_cmd.c')
  120. group = DefineGroup('CherryUSB', src, depend = ['PKG_USING_CHERRYUSB'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  121. Return('group')