#
# Copyright (c) .NET Foundation and Contributors
# See LICENSE file in the project root for full license information.
#

# append include directory for target NXP
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})

list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/board)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/component/serial_manager)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/component/uart)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/device)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/drivers)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/drivers/freertos)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/utilities)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/xip)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/inc)
list(APPEND TARGET_NXP_COMMON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/port)

# append common source files
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/startup/startup_mimxrt1062.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/board/board.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/board/clock_config.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/board/fsl_phy.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/board/peripherals.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/board/pin_mux.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/component/serial_manager/serial_manager.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/component/serial_manager/serial_port_uart.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/component/uart/lpuart_adapter.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_cache.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_clock.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_enet.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_flexspi.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_gpio.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_gpio_ext.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_lpi2c.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_lpuart.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_lpuart_edma.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_edma.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_dmamux.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_semc.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_snvs_lp.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_trng.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/fsl_usdhc.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/src/fsl_sd.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/src/fsl_sdmmc_common.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/port/fsl_sdmmc_host.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sdmmc/port/fsl_sdmmc_event.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/drivers/freertos/fsl_lpuart_freertos.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/device/system_MIMXRT1062.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/utilities/fsl_debug_console.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/utilities/fsl_str.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/utilities/flexspi_nor_flash_ops.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/xip/fsl_flexspi_nor_boot.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/xip/evkmimxrt1060_flexspi_nor_config.c)

list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/WireProtocol_HAL_Interface.c)

# append Target files
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Device_BlockStorage.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Target_BlockStorage_iMXRTFlashDriver.c)
list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/platform_BlockStorage.c)

# include configuration manager file, if feature is enabled
if(NF_FEATURE_HAS_CONFIG_BLOCK)
    list(APPEND TARGET_NXP_COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/targetHAL_ConfigurationManager.cpp)
endif()

# make var global
set(TARGET_NXP_COMMON_SOURCES ${TARGET_NXP_COMMON_SOURCES} CACHE INTERNAL "make global")
set(TARGET_NXP_COMMON_INCLUDE_DIRS ${TARGET_NXP_COMMON_INCLUDE_DIRS} CACHE INTERNAL "make global")
