QTechOS/kernel/arch/riscv/platform/allwinner-d1/meson.build
Quantum b35d58df1f
Build System: More better
Split code into generic, arch, and platform

Made QEMU its own platform

Added shitty uart upload script for lichee board until I can get fel to
actually upload uboot payloads without hanging

TODO: Move platform selection out of build script

TODO: Move arch specific stuff from kernel to arch

TODO: Common linker script for arch instead of having a copy in each
platform
2022-01-04 01:50:46 -05:00

51 lines
993 B
Meson

objcopy = find_program('riscv64-linux-gnu-objcopy')
mkimage = find_program('mkimage')
arch_sources += [
]
elf = executable(
'kernel.elf',
arch_sources,
link_args: [
'-Wl,-T,' + meson.current_source_dir() + '/platform.ld',
'-static'
],
link_depends: files('platform.ld'),
install: true,
install_dir: meson.build_root()
)
bin = custom_target(
'kernel.bin',
command: [objcopy, '-O', 'binary', '@INPUT@', '@OUTPUT@'],
input: elf,
output: 'kernel.bin'
)
uboot_img = custom_target(
'kernel.uboot',
command: [
mkimage,
'-d', '@INPUT@',
'-A', 'riscv',
'-O', 'u-boot',
'-a', '0x45000000',
'-e', '0x45000000',
'-C', 'none',
'@OUTPUT@'
],
input: bin,
output: 'kernel.uboot',
install: true,
install_dir: meson.build_root()
)
run_target('uart',
command: [
find_program(meson.source_root() + '/tools/uboot_upload'),
elf
]
)