SConscript 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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. path += [cwd + '/class/midi']
  13. path += [cwd + '/class/vendor/net']
  14. path += [cwd + '/class/vendor/serial']
  15. src = []
  16. CPPDEFINES = []
  17. # USB DEVICE
  18. if GetDepend(['PKG_CHERRYUSB_DEVICE']):
  19. path += [cwd + '/osal']
  20. src += Glob('core/usbd_core.c')
  21. src += Glob('osal/usb_osal_rtthread.c')
  22. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  23. CPPDEFINES+=['CONFIG_USB_HS']
  24. if GetDepend(['PKG_CHERRYUSB_DEVICE_BL']):
  25. CPPDEFINES += ['CONFIG_CHERRYUSB']
  26. if GetDepend(['PKG_CHERRYUSB_DEVICE_CH32']):
  27. if GetDepend(['PKG_CHERRYUSB_DEVICE_HS']):
  28. src += Glob('port/ch32/usb_dc_usbhs.c')
  29. else:
  30. src += Glob('port/ch32/usb_dc_usbfs.c')
  31. if GetDepend(['PKG_CHERRYUSB_DEVICE_FSDEV']):
  32. src += Glob('port/fsdev/usb_dc_fsdev.c')
  33. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_ST']):
  34. src += Glob('port/dwc2/usb_dc_dwc2.c')
  35. src += Glob('port/dwc2/usb_glue_st.c')
  36. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_ESP']):
  37. src += Glob('port/dwc2/usb_dc_dwc2.c')
  38. src += Glob('port/dwc2/usb_glue_esp.c')
  39. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_AT']):
  40. src += Glob('port/dwc2/usb_dc_dwc2.c')
  41. src += Glob('port/dwc2/usb_glue_at.c')
  42. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_AIC']):
  43. src += Glob('port/dwc2/usb_dc_dwc2.c')
  44. src += Glob('port/dwc2/usb_glue_aic.c')
  45. if GetDepend(['PKG_CHERRYUSB_DEVICE_DWC2_CUSTOM']):
  46. src += Glob('port/dwc2/usb_dc_dwc2.c')
  47. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB_STANDARD']):
  48. src += Glob('port/musb/usb_dc_musb.c')
  49. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB_SUNXI']):
  50. src += Glob('port/musb/usb_dc_musb.c')
  51. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  52. if GetDepend(['PKG_CHERRYUSB_DEVICE_MUSB_CUSTOM']):
  53. src += Glob('port/musb/usb_dc_musb.c')
  54. if GetDepend(['PKG_CHERRYUSB_DEVICE_HPM']):
  55. src += Glob('port/hpm/usb_dc_hpm.c')
  56. if GetDepend(['PKG_CHERRYUSB_DEVICE_PUSB2']):
  57. path += [cwd + '/port/pusb2/common']
  58. path += [cwd + '/port/pusb2/fpusb2']
  59. src += Glob('port/pusb2/fpusb2' + '/*.c')
  60. src += Glob('port/pusb2/usb_dc_pusb2.c')
  61. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_ACM']):
  62. src += Glob('class/cdc/usbd_cdc.c')
  63. if GetDepend(['PKG_CHERRYUSB_DEVICE_HID']):
  64. src += Glob('class/hid/usbd_hid.c')
  65. if GetDepend(['PKG_CHERRYUSB_DEVICE_MSC']):
  66. src += Glob('class/msc/usbd_msc.c')
  67. if GetDepend(['PKG_CHERRYUSB_DEVICE_AUDIO']):
  68. src += Glob('class/audio/usbd_audio.c')
  69. if GetDepend(['PKG_CHERRYUSB_DEVICE_VIDEO']):
  70. src += Glob('class/video/usbd_video.c')
  71. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_RNDIS']):
  72. src += Glob('class/wireless/usbd_rndis.c')
  73. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_ECM']):
  74. src += Glob('class/cdc/usbd_cdc_ecm.c')
  75. if GetDepend(['PKG_CHERRYUSB_DEVICE_CDC_NCM']):
  76. src += Glob('class/cdc/usbd_cdc_ncm.c')
  77. if GetDepend(['PKG_CHERRYUSB_USING_DFU']):
  78. src += Glob('class/dfu/usbd_dfu.c')
  79. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM']):
  80. src += Glob('demo/cdc_acm_template.c')
  81. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_MSC']):
  82. src += Glob('demo/msc_ram_template.c')
  83. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE']):
  84. src += Glob('demo/hid_mouse_template.c')
  85. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD']):
  86. src += Glob('demo/hid_keyboard_template.c')
  87. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM']):
  88. src += Glob('demo/hid_custom_inout_template.c')
  89. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_VIDEO']):
  90. src += Glob('demo/video_static_mjpeg_template.c')
  91. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER']):
  92. src += Glob('demo/audio_v1_mic_speaker_multichan_template.c')
  93. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER']):
  94. src += Glob('demo/audio_v2_mic_speaker_multichan_template.c')
  95. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS']):
  96. src += Glob('demo/cdc_rndis_template.c')
  97. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM']):
  98. src += Glob('demo/cdc_ecm_template.c')
  99. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM']):
  100. src += Glob('demo/cdc_ncm_template.c')
  101. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC']):
  102. src += Glob('demo/cdc_acm_msc_template.c')
  103. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID']):
  104. src += Glob('demo/cdc_acm_hid_msc_template.c')
  105. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1']):
  106. src += Glob('demo/winusb1.0_template.c')
  107. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC']):
  108. src += Glob('demo/winusb2.0_cdc_template.c')
  109. if GetDepend(['PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID']):
  110. src += Glob('demo/winusb2.0_hid_template.c')
  111. # USB HOST
  112. if GetDepend(['PKG_CHERRYUSB_HOST']):
  113. path += [cwd + '/class/hub']
  114. src += Glob('core/usbh_core.c')
  115. src += Glob('class/hub/usbh_hub.c')
  116. src += Glob('osal/usb_osal_rtthread.c')
  117. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_BL']):
  118. src += Glob('port/ehci/usb_hc_ehci.c')
  119. src += Glob('port/ehci/usb_glue_bouffalo.c')
  120. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_HPM']):
  121. src += Glob('port/ehci/usb_hc_ehci.c')
  122. src += Glob('port/ehci/usb_glue_hpm.c')
  123. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_AIC']):
  124. src += Glob('port/ehci/usb_hc_ehci.c')
  125. src += Glob('port/ehci/usb_glue_aic.c')
  126. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980']):
  127. src += Glob('port/ehci/usb_hc_ehci.c')
  128. src += Glob('port/ehci/usb_glue_nuc980.c')
  129. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0']):
  130. src += Glob('port/ehci/usb_hc_ehci.c')
  131. src += Glob('port/ehci/usb_glue_ma35d0.c')
  132. if GetDepend(['PKG_CHERRYUSB_HOST_EHCI_CUSTOM']):
  133. src += Glob('port/ehci/usb_hc_ehci.c')
  134. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2_ST']):
  135. src += Glob('port/dwc2/usb_hc_dwc2.c')
  136. src += Glob('port/dwc2/usb_glue_st.c')
  137. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2_ESP']):
  138. src += Glob('port/dwc2/usb_hc_dwc2.c')
  139. src += Glob('port/dwc2/usb_glue_esp.c')
  140. if GetDepend(['PKG_CHERRYUSB_HOST_DWC2_CUSTOM']):
  141. src += Glob('port/dwc2/usb_hc_dwc2.c')
  142. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB_STANDARD']):
  143. src += Glob('port/musb/usb_hc_musb.c')
  144. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB_SUNXI']):
  145. src += Glob('port/musb/usb_hc_musb.c')
  146. CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
  147. if GetDepend(['PKG_CHERRYUSB_HOST_MUSB_CUSTOM']):
  148. src += Glob('port/musb/usb_hc_musb.c')
  149. if GetDepend(['PKG_CHERRYUSB_HOST_XHCI']):
  150. src += Glob('port/xhci/usb_hc_xhci.c')
  151. src += Glob('port/xhci/xhci_dbg.c')
  152. src += Glob('port/xhci/xhci.c')
  153. if GetDepend(['PKG_CHERRYUSB_HOST_PUSB2']):
  154. path += [cwd + '/port/pusb2/common']
  155. path += [cwd + '/port/pusb2/fpusb2']
  156. src += Glob('port/pusb2/fpusb2' + '/*.c')
  157. src += Glob('port/pusb2/usb_hc_pusb2.c')
  158. if GetDepend(['PKG_CHERRYUSB_HOST_CDC_ACM']):
  159. src += Glob('class/cdc/usbh_cdc_acm.c')
  160. if GetDepend(['PKG_CHERRYUSB_HOST_HID']):
  161. src += Glob('class/hid/usbh_hid.c')
  162. if GetDepend(['PKG_CHERRYUSB_HOST_MSC']):
  163. src += Glob('class/msc/usbh_msc.c')
  164. if GetDepend(['PKG_CHERRYUSB_HOST_CDC_RNDIS']):
  165. src += Glob('class/wireless/usbh_rndis.c')
  166. if GetDepend(['PKG_CHERRYUSB_HOST_CDC_ECM']):
  167. src += Glob('class/cdc/usbh_cdc_ecm.c')
  168. if GetDepend(['PKG_CHERRYUSB_HOST_CDC_NCM']):
  169. src += Glob('class/cdc/usbh_cdc_ncm.c')
  170. if GetDepend(['PKG_CHERRYUSB_HOST_VIDEO']):
  171. src += Glob('class/video/usbh_video.c')
  172. if GetDepend(['PKG_CHERRYUSB_HOST_AUDIO']):
  173. src += Glob('class/audio/usbh_audio.c')
  174. if GetDepend(['PKG_CHERRYUSB_HOST_BLUETOOTH']):
  175. src += Glob('class/wireless/usbh_bluetooth.c')
  176. if GetDepend(['PKG_CHERRYUSB_HOST_ASIX']):
  177. src += Glob('class/vendor/net/usbh_asix.c')
  178. if GetDepend(['PKG_CHERRYUSB_HOST_RTL8152']):
  179. src += Glob('class/vendor/net/usbh_rtl8152.c')
  180. if GetDepend(['PKG_CHERRYUSB_HOST_FTDI']):
  181. src += Glob('class/vendor/serial/usbh_ftdi.c')
  182. if GetDepend(['PKG_CHERRYUSB_HOST_CH34X']):
  183. src += Glob('class/vendor/serial/usbh_ch34x.c')
  184. if GetDepend(['PKG_CHERRYUSB_HOST_CP210X']):
  185. src += Glob('class/vendor/serial/usbh_cp210x.c')
  186. if GetDepend(['PKG_CHERRYUSB_HOST_TEMPLATE']):
  187. src += Glob('demo/usb_host.c')
  188. if GetDepend('RT_USING_DFS'):
  189. src += Glob('third_party/rt-thread-5.0/dfs_usbh_msc.c')
  190. group = DefineGroup('CherryUSB', src, depend = ['PKG_USING_CHERRYUSB'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  191. Return('group')