blob: 33c6645ee6c2fbdb9042333e5fdb46627f671644 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# We re-use a bunch of variables from boot_rom/meson.build for now.
# These are:
# - chip_info_h
# - rom_link_args
# - rom_link_deps
sw_br2_crt_files = [
'../boot_rom/rom_crt.S',
'../boot_rom/irq_vector.S',
]
sw_br2_log = declare_dependency(
link_with: static_library(
'sw_br2_log',
sources: ['uart_log.c'],
dependencies: [
dif_uart,
sw_lib_mem,
sw_lib_base_print,
sw_lib_runtime_hart,
],
),
)
foreach device_name, device_lib : sw_lib_arch_core_devices
sw_br2_elf = executable(
'br2_' + device_name,
sources: [
'boot_rom.c',
sw_br2_crt_files,
],
name_suffix: 'elf',
link_args: rom_link_args,
link_depends: rom_link_deps,
dependencies: [
chip_info_h,
device_lib,
sw_br2_log,
sw_lib_base_log,
# Non-DIF drivers. These should eventally be removed.
sw_lib_pinmux,
],
)
sw_br2_embedded = custom_target(
'br2_' + device_name,
command: make_embedded_target,
input: sw_br2_elf,
output: make_embedded_target_outputs,
build_by_default: true,
)
custom_target(
'br2_export_' + device_name,
command: export_embedded_target,
input: [sw_br2_elf, sw_br2_embedded],
output: 'br2_export_' + device_name,
build_always_stale: true,
build_by_default: true,
)
endforeach