### This file was auto generated. Do not edit manually. ###

load("@pigweed//pw_build:compatibility.bzl", "boolean_constraint_value")
package(default_visibility = ["//visibility:public"])
COPTS = ['-Wno-cast-qual', '-Wno-error=strict-prototypes', '-Wno-redundant-decls', '-Wno-shadow', '-Wno-sign-compare', '-Wno-type-limits', '-Wno-undef', '-Wno-unused-function', '-Wno-unused-parameter', '-Wno-unused-variable', '-Wno-old-style-declaration']

boolean_constraint_value(
    name = "cm33_MIMXRT595S",
)
label_flag(
    name = "user_config",
    build_setting_default = "@pigweed//pw_build:empty_cc_library",
)
label_flag(
    name = "user_defines",
    build_setting_default = "@pigweed//pw_build:empty_cc_library",
)
label_flag(
    name = "freertos",
    build_setting_default = "@pigweed//pw_build:empty_cc_library",
)
cc_library(
    name = "CMSIS_Include_core_cm.MIMXRT595S",
    copts = COPTS,
    deps = [':user_defines'],
    hdrs = ['core/CMSIS/Core/Include/cmsis_compiler.h', 'core/CMSIS/Core/Include/cmsis_gcc.h', 'core/CMSIS/Core/Include/cmsis_version.h', 'core/CMSIS/Core/Include/core_cm33.h', 'core/CMSIS/Core/Include/mpu_armv8.h', 'core/CMSIS/Core/Include/tz_context.h'] + select({':cm33_MIMXRT595S': []}),
    includes = ['core/CMSIS/Core/Include'],
    srcs = [],
)
cc_library(
    name = "component.lists.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/components/lists/fsl_component_generic_list.h'],
    includes = ['core/components/lists'],
    srcs = ['core/components/lists/fsl_component_generic_list.c'],
)
cc_library(
    name = "component.serial_manager.MIMXRT595S",
    copts = COPTS,
    defines = ['SERIAL_PORT_TYPE_UART=1'],
    deps = [':component.lists.MIMXRT595S', ':component.usart_adapter.MIMXRT595S', ':platform.drivers.common.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':user_defines'],
    hdrs = ['core/components/serial_manager/fsl_component_serial_manager.h', 'core/components/serial_manager/fsl_component_serial_port_internal.h', 'core/components/serial_manager/fsl_component_serial_port_uart.h'],
    includes = ['core/components/serial_manager'],
    srcs = ['core/components/serial_manager/fsl_component_serial_manager.c', 'core/components/serial_manager/fsl_component_serial_port_uart.c'],
)
cc_library(
    name = "component.serial_manager_uart.MIMXRT595S",
    copts = COPTS,
    defines = ['SERIAL_PORT_TYPE_UART=1'],
    deps = [':component.lists.MIMXRT595S', ':component.usart_adapter.MIMXRT595S', ':platform.drivers.common.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':user_defines'],
    hdrs = ['core/components/serial_manager/fsl_component_serial_manager.h', 'core/components/serial_manager/fsl_component_serial_port_internal.h', 'core/components/serial_manager/fsl_component_serial_port_uart.h'],
    includes = ['core/components/serial_manager'],
    srcs = ['core/components/serial_manager/fsl_component_serial_manager.c', 'core/components/serial_manager/fsl_component_serial_port_uart.c'],
)
cc_library(
    name = "component.usart_adapter.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':platform.drivers.flexcomm.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':user_defines'],
    hdrs = ['core/components/uart/fsl_adapter_uart.h'],
    includes = ['core/components/uart'],
    srcs = ['core/components/uart/fsl_adapter_usart.c'],
)
cc_library(
    name = "device.MIMXRT595S_CMSIS.MIMXRT595S",
    copts = COPTS,
    deps = [':CMSIS_Include_core_cm.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/fsl_device_registers.h', 'core/devices/MIMXRT595S/MIMXRT595S_cm33.h', 'core/devices/MIMXRT595S/MIMXRT595S_cm33_features.h', 'core/devices/MIMXRT595S/system_MIMXRT595S_cm33.h'] + select({':cm33_MIMXRT595S': []}),
    includes = ['core/devices/MIMXRT595S'],
    srcs = ['core/devices/MIMXRT595S/system_MIMXRT595S_cm33.c'] + select({':cm33_MIMXRT595S': []}),
)
cc_library(
    name = "platform.drivers.cache_cache64.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/cache/cache64/fsl_cache.h'],
    includes = ['core/drivers/cache/cache64'],
    srcs = ['core/drivers/cache/cache64/fsl_cache.c'],
)
cc_library(
    name = "platform.drivers.clock.MIMXRT595S",
    copts = COPTS,
    deps = [':device.MIMXRT595S_CMSIS.MIMXRT595S', ':platform.drivers.reset.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_clock.h', 'core/drivers/common/fsl_common.h', 'core/drivers/common/fsl_common_arm.h'] + select({':cm33_MIMXRT595S': []}),
    includes = ['core/devices/MIMXRT595S/drivers', 'core/drivers/common'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_clock.c', 'core/drivers/common/fsl_common.c', 'core/drivers/common/fsl_common_arm.c'] + select({':cm33_MIMXRT595S': []}),
)
cc_library(
    name = "platform.drivers.common.MIMXRT595S",
    copts = COPTS,
    deps = [':device.MIMXRT595S_CMSIS.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_clock.h', 'core/devices/MIMXRT595S/drivers/fsl_reset.h', 'core/drivers/common/fsl_common.h', 'core/drivers/common/fsl_common_arm.h'] + select({':cm33_MIMXRT595S': []}),
    includes = ['core/devices/MIMXRT595S/drivers', 'core/drivers/common'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_clock.c', 'core/devices/MIMXRT595S/drivers/fsl_reset.c', 'core/drivers/common/fsl_common.c', 'core/drivers/common/fsl_common_arm.c'] + select({':cm33_MIMXRT595S': []}),
)
cc_library(
    name = "platform.drivers.flash_config.evkmimxrt595.MIMXRT595S",
    alwayslink = True,
    copts = COPTS,
    defines = ['BOOT_HEADER_ENABLE=1'],
    deps = [':platform.drivers.iap.MIMXRT595S', ':user_defines'],
    hdrs = ['core/boards/evkmimxrt595/flash_config/flash_config.h'],
    includes = ['core/boards/evkmimxrt595/flash_config'],
    srcs = ['core/boards/evkmimxrt595/flash_config/flash_config.c'],
)
cc_library(
    name = "platform.drivers.flexcomm.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexcomm/fsl_flexcomm.h'],
    includes = ['core/drivers/flexcomm'],
    srcs = ['core/drivers/flexcomm/fsl_flexcomm.c'],
)
cc_library(
    name = "platform.drivers.flexcomm_i2c.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':platform.drivers.flexcomm.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexcomm/i2c/fsl_i2c.h'],
    includes = ['core/drivers/flexcomm/i2c'],
    srcs = ['core/drivers/flexcomm/i2c/fsl_i2c.c'],
)
cc_library(
    name = "platform.drivers.flexcomm_spi.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':platform.drivers.flexcomm.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexcomm/spi/fsl_spi.h'],
    includes = ['core/drivers/flexcomm/spi'],
    srcs = ['core/drivers/flexcomm/spi/fsl_spi.c'],
)
cc_library(
    name = "platform.drivers.flexcomm_usart.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.flexcomm.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexcomm/usart/fsl_usart.h'],
    includes = ['core/drivers/flexcomm/usart'],
    srcs = ['core/drivers/flexcomm/usart/fsl_usart.c'],
)
cc_library(
    name = "platform.drivers.flexcomm_usart_dma.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.flexcomm.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':platform.drivers.lpc_dma.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexcomm/usart/fsl_usart_dma.h'],
    includes = ['core/drivers/flexcomm/usart'],
    srcs = ['core/drivers/flexcomm/usart/fsl_usart_dma.c'],
)
cc_library(
    name = "platform.drivers.flexcomm_usart_freertos.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.flexcomm.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_usart_freertos.h'],
    includes = ['core/devices/MIMXRT595S/drivers'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_usart_freertos.c'],
)
cc_library(
    name = "platform.drivers.flexio.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexio/fsl_flexio.h'],
    includes = ['core/drivers/flexio'],
    srcs = ['core/drivers/flexio/fsl_flexio.c'],
)
cc_library(
    name = "platform.drivers.flexio_spi.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.flexio.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexio/spi/fsl_flexio_spi.h'],
    includes = ['core/drivers/flexio/spi'],
    srcs = ['core/drivers/flexio/spi/fsl_flexio_spi.c'],
)
cc_library(
    name = "platform.drivers.flexspi.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/flexspi/fsl_flexspi.h'],
    includes = ['core/drivers/flexspi'],
    srcs = ['core/drivers/flexspi/fsl_flexspi.c'],
)
cc_library(
    name = "platform.drivers.i3c.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/i3c/fsl_i3c.h'],
    includes = ['core/drivers/i3c'],
    srcs = ['core/drivers/i3c/fsl_i3c.c'],
)
cc_library(
    name = "platform.drivers.iap.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_iap.h'],
    includes = ['core/devices/MIMXRT595S/drivers'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_iap.c'],
)
cc_library(
    name = "platform.drivers.inputmux.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':platform.drivers.inputmux_connections.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/inputmux/fsl_inputmux.h'],
    includes = ['core/drivers/inputmux'],
    srcs = ['core/drivers/inputmux/fsl_inputmux.c'],
)
cc_library(
    name = "platform.drivers.inputmux_connections.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_inputmux_connections.h'],
    includes = ['core/devices/MIMXRT595S/drivers'],
    srcs = [],
)
cc_library(
    name = "platform.drivers.lpc_dma.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/lpc_dma/fsl_dma.h'],
    includes = ['core/drivers/lpc_dma'],
    srcs = ['core/drivers/lpc_dma/fsl_dma.c'],
)
cc_library(
    name = "platform.drivers.lpc_gpio.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/lpc_gpio/fsl_gpio.h'],
    includes = ['core/drivers/lpc_gpio'],
    srcs = ['core/drivers/lpc_gpio/fsl_gpio.c'],
)
cc_library(
    name = "platform.drivers.lpc_iopctl.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/lpc_iopctl/fsl_iopctl.h'],
    includes = ['core/drivers/lpc_iopctl'],
    srcs = [],
)
cc_library(
    name = "platform.drivers.mu.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/mu/fsl_mu.h'],
    includes = ['core/drivers/mu'],
    srcs = ['core/drivers/mu/fsl_mu.c'],
)
cc_library(
    name = "platform.drivers.pint.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/drivers/pint/fsl_pint.h'],
    includes = ['core/drivers/pint'],
    srcs = ['core/drivers/pint/fsl_pint.c'],
)
cc_library(
    name = "platform.drivers.power.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_power.h'],
    includes = ['core/devices/MIMXRT595S/drivers'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_power.c'],
)
cc_library(
    name = "platform.drivers.reset.MIMXRT595S",
    copts = COPTS,
    deps = [':device.MIMXRT595S_CMSIS.MIMXRT595S', ':user_defines'],
    hdrs = ['core/devices/MIMXRT595S/drivers/fsl_clock.h', 'core/devices/MIMXRT595S/drivers/fsl_reset.h', 'core/drivers/common/fsl_common.h', 'core/drivers/common/fsl_common_arm.h'] + select({':cm33_MIMXRT595S': []}),
    includes = ['core/devices/MIMXRT595S/drivers', 'core/drivers/common'],
    srcs = ['core/devices/MIMXRT595S/drivers/fsl_clock.c', 'core/devices/MIMXRT595S/drivers/fsl_reset.c', 'core/drivers/common/fsl_common.c', 'core/drivers/common/fsl_common_arm.c'] + select({':cm33_MIMXRT595S': []}),
)
cc_library(
    name = "platform.utilities.assert.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines', ':utility.debug_console.MIMXRT595S'],
    hdrs = ['core/utilities/assert/fsl_assert.h'],
    includes = ['core/utilities/assert'],
    srcs = ['core/utilities/assert/fsl_assert.c'],
)
cc_library(
    name = "project_template.evkmimxrt595.MIMXRT595S",
    copts = COPTS,
    defines = ['FSL_SDK_DRIVER_QUICK_ACCESS_ENABLE=1'],
    deps = [':component.serial_manager.MIMXRT595S', ':component.usart_adapter.MIMXRT595S', ':platform.drivers.cache_cache64.MIMXRT595S', ':platform.drivers.clock.MIMXRT595S', ':platform.drivers.common.MIMXRT595S', ':platform.drivers.flash_config.evkmimxrt595.MIMXRT595S', ':platform.drivers.flexcomm_usart.MIMXRT595S', ':platform.drivers.flexspi.MIMXRT595S', ':platform.drivers.lpc_gpio.MIMXRT595S', ':platform.drivers.lpc_iopctl.MIMXRT595S', ':platform.drivers.power.MIMXRT595S', ':platform.drivers.reset.MIMXRT595S', ':platform.utilities.assert.MIMXRT595S', ':user_defines', ':utility.debug_console.MIMXRT595S'],
    hdrs = ['core/boards/evkmimxrt595/project_template/board.h', 'core/boards/evkmimxrt595/project_template/clock_config.h', 'core/boards/evkmimxrt595/project_template/pin_mux.h', 'core/boards/evkmimxrt595/project_template/peripherals.h'],
    includes = ['core/boards/evkmimxrt595/project_template', 'core/boards/evkmimxrt595/project_template'],
    srcs = ['core/boards/evkmimxrt595/project_template/board.c', 'core/boards/evkmimxrt595/project_template/clock_config.c', 'core/boards/evkmimxrt595/project_template/pin_mux.c', 'core/boards/evkmimxrt595/project_template/peripherals.c'],
)
cc_library(
    name = "utility.debug_console.MIMXRT595S",
    copts = COPTS,
    deps = [':component.serial_manager.MIMXRT595S', ':platform.drivers.common.MIMXRT595S', ':user_defines', ':utility.str.MIMXRT595S'],
    hdrs = ['core/utilities/debug_console/fsl_debug_console.h', 'core/utilities/debug_console/fsl_debug_console_conf.h'],
    includes = ['core/utilities/debug_console'],
    srcs = ['core/utilities/debug_console/fsl_debug_console.c'],
)
cc_library(
    name = "utility.str.MIMXRT595S",
    copts = COPTS,
    deps = [':platform.drivers.common.MIMXRT595S', ':user_defines'],
    hdrs = ['core/utilities/str/fsl_str.h'],
    includes = ['core/utilities/str'],
    srcs = ['core/utilities/str/fsl_str.c'],
)
