import rtconfig from building import * cwd = GetCurrentDir() src = Split(""" ../src/tusb.c ../src/common/tusb_fifo.c ../src/device/usbd.c ../src/device/usbd_control.c ./tinyusb_port.c ./usb_descriptor.c """) path = [cwd, cwd + "/../src"] # BSP if GetDepend(["SOC_FAMILY_STM32"]): src += ["bsp/stm32/drv_tinyusb.c", "../src/portable/synopsys/dwc2/dcd_dwc2.c", "../src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c"] if GetDepend(["SOC_NRF52840"]): src += ["../src/portable/nordic/nrf5x/dcd_nrf5x.c", "bsp/nrf5x/drv_tinyusb.c"] if GetDepend(["SOC_HPM6000"]): src += ["bsp/hpmicro/drv_tinyusb.c", "../src/portable/hpm/dcd_hpm.c"] if GetDepend(["SOC_RP2040"]): src += ["bsp/rp2040/drv_tinyusb.c", "../src/portable/raspberrypi/rp2040/rp2040_usb.c", "../src/portable/raspberrypi/rp2040/dcd_rp2040.c"] # Device class if GetDepend(["PKG_TINYUSB_DEVICE_CDC"]): src += ["../src/class/cdc/cdc_device.c"] if GetDepend(["PKG_TINYUSB_DEVICE_MSC"]): src += ["../src/class/msc/msc_device.c", "port/msc_device_port.c"] if GetDepend(["PKG_TINYUSB_DEVICE_HID"]): src += ["../src/class/hid/hid_device.c", "port/hid_device_port.c"] if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_CDC"]): src += ["example/cdc_example.c"] if GetDepend(["PKG_TINYUSB_DEVICE_EXAMPLE_HID"]): src += ["example/hid_example.c"] LOCAL_CFLAGS = '' if rtconfig.PLATFORM == 'gcc' or rtconfig.PLATFORM == 'armclang': # GCC or Keil AC6 LOCAL_CFLAGS += ' -std=c99' elif rtconfig.PLATFORM == 'armcc': # Keil AC5 LOCAL_CFLAGS += ' --c99 --gnu' group = DefineGroup('TinyUSB', src, depend = ['PKG_USING_TINYUSB'], CPPPATH = path, LOCAL_CFLAGS = LOCAL_CFLAGS) Return('group')