package third_party.bsp.stml4cube

@BuildArtifactPath(cppflags="-DUSE_HAL_DRIVER -DSTM32L4_CUBE -DSTM32L4_CUBE_1_14_0")
@BuildArtifactPath(cppflags="$(addprefix -I$(EXTERNAL_BUILD_DIR)/third_party/bsp/stml4cube/cube/STM32CubeL4-1.14.0/,Drivers/STM32L4xx_HAL_Driver/Inc Drivers/CMSIS/Device/ST/STM32L4xx/Include Drivers/CMSIS/Include)")
module cube_cppflags {

}

@Build(stage=1,script="$(EXTERNAL_MAKE) download extract patch")
@BuildDepends(cube_cppflags)
@BuildDepends(third_party.bsp.stml4cube.stm32l4_conf)
static module cube {

	@IncludeExport(path="bsp")
	source "stm32cube_hal.h"

	@Cflags("-Wno-unused")
	@Cflags("-Wno-undef")
	@AddPrefix("^BUILD/extbld/^MOD_PATH/STM32CubeL4-1.14.0/Drivers/STM32L4xx_HAL_Driver/Src")
	source
		"stm32l4xx_hal_adc.c",
		"stm32l4xx_hal_adc_ex.c",
		"stm32l4xx_hal.c",
		"stm32l4xx_hal_can.c",
		"stm32l4xx_hal_comp.c",
		"stm32l4xx_hal_cortex.c",
		"stm32l4xx_hal_crc.c",
		"stm32l4xx_hal_crc_ex.c",
		"stm32l4xx_hal_cryp.c",
		"stm32l4xx_hal_cryp_ex.c",
		"stm32l4xx_hal_dac.c",
		"stm32l4xx_hal_dac_ex.c",
		"stm32l4xx_hal_dcmi.c",
		"stm32l4xx_hal_dfsdm.c",
		"stm32l4xx_hal_dfsdm_ex.c",
		"stm32l4xx_hal_dma2d.c",
		"stm32l4xx_hal_dma.c",
		"stm32l4xx_hal_dma_ex.c",
		"stm32l4xx_hal_dsi.c",
		"stm32l4xx_hal_exti.c",
		"stm32l4xx_hal_firewall.c",
		"stm32l4xx_hal_flash.c",
		"stm32l4xx_hal_flash_ex.c",
		"stm32l4xx_hal_flash_ramfunc.c",
		"stm32l4xx_hal_gfxmmu.c",
		"stm32l4xx_hal_gpio.c",
		"stm32l4xx_hal_hash.c",
		"stm32l4xx_hal_hash_ex.c",
		"stm32l4xx_hal_hcd.c",
		"stm32l4xx_hal_i2c.c",
		"stm32l4xx_hal_i2c_ex.c",
		"stm32l4xx_hal_irda.c",
		"stm32l4xx_hal_iwdg.c",
		"stm32l4xx_hal_lcd.c",
		"stm32l4xx_hal_lptim.c",
		"stm32l4xx_hal_ltdc.c",
		"stm32l4xx_hal_ltdc_ex.c",
		"stm32l4xx_hal_mmc.c",
		"stm32l4xx_hal_mmc_ex.c",
		"stm32l4xx_hal_msp_template.c",
		"stm32l4xx_hal_nand.c",
		"stm32l4xx_hal_nor.c",
		"stm32l4xx_hal_opamp.c",
		"stm32l4xx_hal_opamp_ex.c",
		"stm32l4xx_hal_ospi.c",
		"stm32l4xx_hal_pcd.c",
		"stm32l4xx_hal_pcd_ex.c",
		"stm32l4xx_hal_pwr.c",
		"stm32l4xx_hal_pwr_ex.c",
		"stm32l4xx_hal_qspi.c",
		"stm32l4xx_hal_rcc.c",
		"stm32l4xx_hal_rcc_ex.c",
		"stm32l4xx_hal_rng.c",
		"stm32l4xx_hal_rtc.c",
		"stm32l4xx_hal_rtc_ex.c",
		"stm32l4xx_hal_sai.c",
		"stm32l4xx_hal_sai_ex.c",
		"stm32l4xx_hal_sd.c",
		"stm32l4xx_hal_sd_ex.c",
		"stm32l4xx_hal_smartcard.c",
		"stm32l4xx_hal_smartcard_ex.c",
		"stm32l4xx_hal_smbus.c",
		"stm32l4xx_hal_spi.c",
		"stm32l4xx_hal_spi_ex.c",
		"stm32l4xx_hal_sram.c",
		"stm32l4xx_hal_swpmi.c",
		"stm32l4xx_hal_tim.c",
		"stm32l4xx_hal_timebase_tim_template.c",
		"stm32l4xx_hal_tim_ex.c",
		"stm32l4xx_hal_tsc.c",
		"stm32l4xx_hal_uart.c",
		"stm32l4xx_hal_uart_ex.c",
		"stm32l4xx_hal_usart.c",
		"stm32l4xx_hal_usart_ex.c",
		"stm32l4xx_hal_wwdg.c"

	@NoRuntime depends third_party.bsp.stml4cube.stm32l4_conf
	@NoRuntime depends cube_cppflags
}
