56 lines
2.0 KiB
TOML
56 lines
2.0 KiB
TOML
#
|
|
# SPDX-License-Identifier: BlueOak-1.0.0
|
|
#
|
|
# Copyright (c) Berkus Decker <berkus+github@metta.systems>
|
|
#
|
|
[tasks.kernel-binary]
|
|
script = [
|
|
"cp ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/${DEFAULT_TARGET}/release/vesper ${KERNEL_ELF}",
|
|
"${OBJCOPY} ${OBJCOPY_PARAMS} ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/${DEFAULT_TARGET}/release/vesper ${KERNEL_BIN}"
|
|
]
|
|
|
|
[tasks.custom-binary]
|
|
script = [
|
|
"cp ${@} ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/`basename ${@}`.elf",
|
|
"${OBJCOPY} ${OBJCOPY_PARAMS} ${@} ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/`basename ${@}`.bin"
|
|
]
|
|
|
|
[tasks.build]
|
|
env = { "TARGET_FEATURES" = "" }
|
|
args = ["build", "${BUILD_STD}", "--target=${TARGET_JSON}", "--release", "--features=${TARGET_FEATURES}"]
|
|
|
|
[tasks.test]
|
|
env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" }
|
|
args = ["test", "${BUILD_STD}", "--target=${TARGET_JSON}", "--features=${TARGET_FEATURES}"]
|
|
|
|
[tasks.test-runner]
|
|
dependencies = ["custom-binary"]
|
|
script = [
|
|
"${QEMU} ${QEMU_OPTS} ${QEMU_TESTS_OPTS} -dtb ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb -kernel ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/`basename ${@}`.bin"
|
|
]
|
|
|
|
[tasks.build-qemu]
|
|
env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" }
|
|
command = "cargo"
|
|
args = ["build", "${BUILD_STD}", "--target=${TARGET_JSON}", "--release", "--features=${TARGET_FEATURES}"]
|
|
|
|
[tasks.qemu]
|
|
dependencies = ["build-qemu", "kernel-binary"]
|
|
env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" }
|
|
command = "${QEMU}"
|
|
args = ["@@split(QEMU_OPTS, )", "@@split(QEMU_SERIAL, )", "-dtb", "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb", "-kernel", "${KERNEL_BIN}"]
|
|
|
|
[tasks.sdcard]
|
|
dependencies = ["build", "kernel-binary"]
|
|
command = "cp"
|
|
args = ["${KERNEL_BIN}", "/Volumes/BOOT/"]
|
|
|
|
[tasks.sdeject]
|
|
dependencies = ["sdcard"]
|
|
command = "diskutil"
|
|
args = ["unmount", "/Volumes/BOOT/"]
|
|
|
|
[tasks.clippy]
|
|
command = "cargo"
|
|
args = ["clippy", "${BUILD_STD}", "--target=${TARGET_JSON}", "--", "-D", "warnings"]
|