wip: nucleus builds!
This commit is contained in:
		
							parent
							
								
									7c76dbded1
								
							
						
					
					
						commit
						79f859b576
					
				|  | @ -1,7 +1,7 @@ | ||||||
| [workspace] | [workspace] | ||||||
| members = [ | members = [ | ||||||
|     "nucleus", |  | ||||||
|     "machine", |     "machine", | ||||||
|  |     "nucleus", | ||||||
|     "bin/chainboot", |     "bin/chainboot", | ||||||
|     "bin/chainofcommand", |     "bin/chainofcommand", | ||||||
|     "tools/ttt" |     "tools/ttt" | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								Justfile
								
								
								
								
							
							
						
						
									
										3
									
								
								Justfile
								
								
								
								
							|  | @ -63,8 +63,7 @@ cb-eject: | ||||||
| 
 | 
 | ||||||
| # Build default hw kernel
 | # Build default hw kernel
 | ||||||
| build: | build: | ||||||
|     cargo make build-device |     cargo make build | ||||||
|     cargo make kernel-binary # Should be only one command to do that, not two! |  | ||||||
| 
 | 
 | ||||||
| # Run clippy checks
 | # Run clippy checks
 | ||||||
| clippy: | clippy: | ||||||
|  |  | ||||||
							
								
								
									
										101
									
								
								Makefile.toml
								
								
								
								
							
							
						
						
									
										101
									
								
								Makefile.toml
								
								
								
								
							|  | @ -8,6 +8,7 @@ | ||||||
| [config] | [config] | ||||||
| min_version = "0.32.0" | min_version = "0.32.0" | ||||||
| default_to_workspace = true | default_to_workspace = true | ||||||
|  | skip_core_tasks = true | ||||||
| 
 | 
 | ||||||
| [env] | [env] | ||||||
| DEFAULT_TARGET = "aarch64-vesper-metta" | DEFAULT_TARGET = "aarch64-vesper-metta" | ||||||
|  | @ -96,28 +97,33 @@ alias = "all" | ||||||
| dependencies = ["kernel-binary", "chainboot", "chainofcommand", "ttt"] | dependencies = ["kernel-binary", "chainboot", "chainofcommand", "ttt"] | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-modules] | [tasks.xtool-modules] | ||||||
|  | workspace = false | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["modules", "tree"] | args = ["modules", "tree"] | ||||||
| 
 | 
 | ||||||
| # Disable build in the root by default.
 | # Disable build in the root by default.
 | ||||||
| [tasks.build] | [tasks.build] | ||||||
| clear = true | workspace = false | ||||||
| alias = "empty" | alias = "empty" | ||||||
| 
 | 
 | ||||||
| # Run a target build with current platform configuration.
 | # Run a target build with current platform configuration.
 | ||||||
| [tasks.build-target] | [tasks.build-target] | ||||||
|  | workspace = false | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["build", "@@split(PLATFORM_TARGET, )", "@@split(RUST_STD, )", "--release"] | args = ["build", "@@split(PLATFORM_TARGET, )", "@@split(RUST_STD, )", "--release"] | ||||||
| 
 | 
 | ||||||
| [tasks.build-device] | [tasks.build-device] | ||||||
|  | workspace = false | ||||||
| env = { "TARGET_FEATURES" = "${TARGET_BOARD}" } | env = { "TARGET_FEATURES" = "${TARGET_BOARD}" } | ||||||
| run_task = "build-target" | run_task = "build-target" | ||||||
| 
 | 
 | ||||||
| [tasks.build-qemu] | [tasks.build-qemu] | ||||||
|  | workspace = false | ||||||
| env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" } | env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" } | ||||||
| run_task = "build-target" | run_task = "build-target" | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-runner] | [tasks.qemu-runner] | ||||||
|  | workspace = false | ||||||
| dependencies = ["build-qemu", "kernel-binary"] | dependencies = ["build-qemu", "kernel-binary"] | ||||||
| env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" } | env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" } | ||||||
| script = [ | script = [ | ||||||
|  | @ -128,6 +134,7 @@ script = [ | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-expand-target] | [tasks.xtool-expand-target] | ||||||
|  | workspace = false | ||||||
| env = { "TARGET_FEATURES" = "" } | env = { "TARGET_FEATURES" = "" } | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["expand", "@@split(PLATFORM_TARGET, )", "--release"] | args = ["expand", "@@split(PLATFORM_TARGET, )", "--release"] | ||||||
|  | @ -143,6 +150,7 @@ command = "cargo" | ||||||
| args = ["doc", "--open", "--no-deps", "@@split(PLATFORM_TARGET, )"] | args = ["doc", "--open", "--no-deps", "@@split(PLATFORM_TARGET, )"] | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-clippy] | [tasks.xtool-clippy] | ||||||
|  | workspace = false | ||||||
| env = { "TARGET_FEATURES" = "rpi3", "CLIPPY_FEATURES" = { value = "--features=${CLIPPY_FEATURES}", condition = { env_set = ["CLIPPY_FEATURES"] } } } | env = { "TARGET_FEATURES" = "rpi3", "CLIPPY_FEATURES" = { value = "--features=${CLIPPY_FEATURES}", condition = { env_set = ["CLIPPY_FEATURES"] } } } | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["clippy", "@@split(PLATFORM_TARGET, )", "@@split(RUST_STD, )", "@@remove-empty(CLIPPY_FEATURES)", "--", "--deny", "warnings", "--allow", "deprecated"] | args = ["clippy", "@@split(PLATFORM_TARGET, )", "@@split(RUST_STD, )", "@@remove-empty(CLIPPY_FEATURES)", "--", "--deny", "warnings", "--allow", "deprecated"] | ||||||
|  | @ -151,6 +159,7 @@ args = ["clippy", "@@split(PLATFORM_TARGET, )", "@@split(RUST_STD, )", "@@remove | ||||||
| 
 | 
 | ||||||
| ## Copy and prepare a given ELF file. Convert to binary output format.
 | ## Copy and prepare a given ELF file. Convert to binary output format.
 | ||||||
| [tasks.build-custom-binary] | [tasks.build-custom-binary] | ||||||
|  | workspace = false | ||||||
| env = { "BINARY_FILE" = "${BINARY_FILE}" } | env = { "BINARY_FILE" = "${BINARY_FILE}" } | ||||||
| script_runner = "@duckscript" | script_runner = "@duckscript" | ||||||
| script = [ | script = [ | ||||||
|  | @ -171,11 +180,13 @@ install_crate = { crate_name = "cargo-binutils", binary = "rust-objcopy", test_a | ||||||
| 
 | 
 | ||||||
| ## Copy and prepare binary with tests.
 | ## Copy and prepare binary with tests.
 | ||||||
| [tasks.test-binary] | [tasks.test-binary] | ||||||
|  | workspace = false | ||||||
| env = { "BINARY_FILE" = "${CARGO_MAKE_TASK_ARGS}" } | env = { "BINARY_FILE" = "${CARGO_MAKE_TASK_ARGS}" } | ||||||
| run_task = "custom-binary" | run_task = "custom-binary" | ||||||
| 
 | 
 | ||||||
| ## Run binary with tests in QEMU.
 | ## Run binary with tests in QEMU.
 | ||||||
| [tasks.test-runner] | [tasks.test-runner] | ||||||
|  | workspace = false | ||||||
| dependencies = ["test-binary"] | dependencies = ["test-binary"] | ||||||
| script_runner = "@duckscript" | script_runner = "@duckscript" | ||||||
| script = [ | script = [ | ||||||
|  | @ -188,6 +199,7 @@ script = [ | ||||||
| 
 | 
 | ||||||
| ## Generate GDB startup configuration file.
 | ## Generate GDB startup configuration file.
 | ||||||
| [tasks.gdb-config] | [tasks.gdb-config] | ||||||
|  | workspace = false | ||||||
| script_runner = "@duckscript" | script_runner = "@duckscript" | ||||||
| script = [ | script = [ | ||||||
| ''' | ''' | ||||||
|  | @ -202,6 +214,7 @@ script = [ | ||||||
| 
 | 
 | ||||||
| ## Generate zellij configuration file.
 | ## Generate zellij configuration file.
 | ||||||
| [tasks.zellij-config] | [tasks.zellij-config] | ||||||
|  | workspace = false | ||||||
| dependencies = ["build-qemu", "kernel-binary"] | dependencies = ["build-qemu", "kernel-binary"] | ||||||
| script_runner = "@duckscript" | script_runner = "@duckscript" | ||||||
| env = { "ZELLIJ_CONFIG_FILE" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/emulation/zellij-config.sh" } | env = { "ZELLIJ_CONFIG_FILE" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/emulation/zellij-config.sh" } | ||||||
|  | @ -218,11 +231,13 @@ script = [ | ||||||
| install_crate = { crate_name = "zellij", binary = "zellij", test_arg = ["--help"] } | install_crate = { crate_name = "zellij", binary = "zellij", test_arg = ["--help"] } | ||||||
| 
 | 
 | ||||||
| [tasks.openocd] | [tasks.openocd] | ||||||
|  | workspace = false | ||||||
| script = [ | script = [ | ||||||
|     "${OPENOCD} -f interface/jlink.cfg -f ../ocd/${TARGET_BOARD}_target.cfg" |     "${OPENOCD} -f interface/jlink.cfg -f ../ocd/${TARGET_BOARD}_target.cfg" | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [tasks.sdeject] | [tasks.sdeject] | ||||||
|  | workspace = false | ||||||
| dependencies = ["sdcard"] | dependencies = ["sdcard"] | ||||||
| script = [ | script = [ | ||||||
|     "diskutil ejectAll ${VOLUME}" |     "diskutil ejectAll ${VOLUME}" | ||||||
|  | @ -233,74 +248,72 @@ alias = "empty" | ||||||
| 
 | 
 | ||||||
| #
 | #
 | ||||||
| # Per-workspace commands, disabled in the root by efault.
 | # Per-workspace commands, disabled in the root by efault.
 | ||||||
|  | # TODO: defined only in sub-modules with workspace = false
 | ||||||
| #
 | #
 | ||||||
| # Tasks for nucleus
 | # Tasks for nucleus
 | ||||||
| [tasks.build-kernel-binary] | #[tasks.build-kernel-binary]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 |  | ||||||
| [tasks.kernel] |  | ||||||
| alias = "empty" |  | ||||||
| 
 | 
 | ||||||
| # Tasks for chainboot
 | # Tasks for chainboot
 | ||||||
| 
 | 
 | ||||||
| [tasks.chainboot] | #[tasks.chainboot]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| # sdeject
 | # sdeject
 | ||||||
| #[tasks.cb-eject]
 | #[tasks.cb-eject]
 | ||||||
| #alias = "empty"
 | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| # Tasks for chainofcommand
 | # Tasks for chainofcommand
 | ||||||
| [tasks.chainofcommand] | #[tasks.chainofcommand]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| # Tasks for ttt
 | # Tasks for ttt
 | ||||||
| [tasks.ttt] | #[tasks.ttt]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| # Other tasks
 | # Other tasks
 | ||||||
| [tasks.gdb] | #[tasks.gdb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.gdb-cb] | #[tasks.gdb-cb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.sdcard] | #[tasks.sdcard]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-gdb] | #[tasks.qemu-gdb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-cb] | #[tasks.qemu-cb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-cb-gdb] | #[tasks.qemu-cb-gdb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-hopper] | #[tasks.xtool-hopper]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
|  | #
 | ||||||
|  | #[tasks.xtool-nm]
 | ||||||
|  | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-nm] | #[tasks.zellij-cb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.zellij-cb] | #[tasks.zellij-cb-gdb]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.zellij-cb-gdb] | #[tasks.zellij-nucleus]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 |  | ||||||
| [tasks.zellij-nucleus] |  | ||||||
| alias = "empty" |  | ||||||
| 
 | 
 | ||||||
| ## Target dependencies:
 | ## Target dependencies:
 | ||||||
| [tasks.kernel-binary] | #[tasks.kernel-binary]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.chainboot-binary] | #[tasks.chainboot-binary]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
|  | #
 | ||||||
|  | #[tasks.chainofcommand-binary]
 | ||||||
|  | #alias = "empty"
 | ||||||
| 
 | 
 | ||||||
| [tasks.chainofcommand-binary] | #[tasks.ttt-binary]
 | ||||||
| alias = "empty" | #alias = "empty"
 | ||||||
| 
 |  | ||||||
| [tasks.ttt-binary] |  | ||||||
| alias = "empty" |  | ||||||
|  |  | ||||||
|  | @ -8,33 +8,41 @@ | ||||||
| [env] | [env] | ||||||
| CHAINBOOT_ELF = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/${TARGET}/release/chainboot" | CHAINBOOT_ELF = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/${TARGET}/release/chainboot" | ||||||
| CHAINBOOT_BIN = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/chainboot.bin" | CHAINBOOT_BIN = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/chainboot.bin" | ||||||
|  | CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true | ||||||
| 
 | 
 | ||||||
| [tasks.chainboot] | [tasks.chainboot] | ||||||
|  | workspace = false | ||||||
| dependencies = ["build-device", "build-kernel-binary"] | dependencies = ["build-device", "build-kernel-binary"] | ||||||
| command = "echo" | command = "echo" | ||||||
| args = ["\n***===***\n", "🏎️ Run the following command in your terminal:\n", "🏎️   ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/debug/chainofcommand ${CHAINBOOT_SERIAL} ${CHAINBOOT_BAUD} --kernel ${KERNEL_BIN}\n", "***===***\n\n"] | args = ["\n***===***\n", "🏎️ Run the following command in your terminal:\n", "🏎️   ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/debug/chainofcommand ${CHAINBOOT_SERIAL} ${CHAINBOOT_BAUD} --kernel ${KERNEL_BIN}\n", "***===***\n\n"] | ||||||
| 
 | 
 | ||||||
| [tasks.build-kernel-binary] | [tasks.build-kernel-binary] | ||||||
|  | workspace = false | ||||||
| env = { "BINARY_FILE" = "${CHAINBOOT_ELF}" } | env = { "BINARY_FILE" = "${CHAINBOOT_ELF}" } | ||||||
| run_task = "build-custom-binary" | run_task = "build-custom-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.zellij-cb] | [tasks.zellij-cb] | ||||||
|  | workspace = false | ||||||
| env = { "KERNEL_BIN" = "${CHAINBOOT_BIN}", "QEMU_OPTS" = "${QEMU_OPTS} ${QEMU_DISASM_OPTS}" } | env = { "KERNEL_BIN" = "${CHAINBOOT_BIN}", "QEMU_OPTS" = "${QEMU_OPTS} ${QEMU_DISASM_OPTS}" } | ||||||
| run_task = "zellij-config" | run_task = "zellij-config" | ||||||
| 
 | 
 | ||||||
| [tasks.zellij-cb-gdb] | [tasks.zellij-cb-gdb] | ||||||
|  | workspace = false | ||||||
| env = { "KERNEL_BIN" = "${CHAINBOOT_BIN}", "QEMU_OPTS" = "${QEMU_OPTS} ${QEMU_DISASM_OPTS} ${QEMU_GDB_OPTS}", "TARGET_BOARD" = "rpi3", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | env = { "KERNEL_BIN" = "${CHAINBOOT_BIN}", "QEMU_OPTS" = "${QEMU_OPTS} ${QEMU_DISASM_OPTS} ${QEMU_GDB_OPTS}", "TARGET_BOARD" = "rpi3", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | ||||||
| run_task = "zellij-config" | run_task = "zellij-config" | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-cb] | [tasks.qemu-cb] | ||||||
|  | workspace = false | ||||||
| env = { "QEMU_RUNNER_OPTS" = "${QEMU_DISASM_OPTS} -serial pty", "KERNEL_BIN" = "${CHAINBOOT_BIN}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | env = { "QEMU_RUNNER_OPTS" = "${QEMU_DISASM_OPTS} -serial pty", "KERNEL_BIN" = "${CHAINBOOT_BIN}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | ||||||
| extend = "qemu-runner" | extend = "qemu-runner" | ||||||
| 
 | 
 | ||||||
| [tasks.qemu-cb-gdb] | [tasks.qemu-cb-gdb] | ||||||
|  | workspace = false | ||||||
| env = { "QEMU_RUNNER_OPTS" = "${QEMU_DISASM_OPTS} ${QEMU_GDB_OPTS} -serial pty", "KERNEL_BIN" = "${CHAINBOOT_BIN}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | env = { "QEMU_RUNNER_OPTS" = "${QEMU_DISASM_OPTS} ${QEMU_GDB_OPTS} -serial pty", "KERNEL_BIN" = "${CHAINBOOT_BIN}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } | ||||||
| extend = "qemu-runner" | extend = "qemu-runner" | ||||||
| 
 | 
 | ||||||
| [tasks.gdb-cb] | [tasks.gdb-cb] | ||||||
|  | workspace = false | ||||||
| dependencies = ["build", "build-kernel-binary", "gdb-config"] | dependencies = ["build", "build-kernel-binary", "gdb-config"] | ||||||
| env = { "RUST_GDB" = "${GDB}" } | env = { "RUST_GDB" = "${GDB}" } | ||||||
| script = [ | script = [ | ||||||
|  | @ -42,10 +50,10 @@ script = [ | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [tasks.sdcard] | [tasks.sdcard] | ||||||
| clear = true |  | ||||||
| alias = "sdcard-cb" | alias = "sdcard-cb" | ||||||
| 
 | 
 | ||||||
| [tasks.sdcard-cb] | [tasks.sdcard-cb] | ||||||
|  | workspace = false | ||||||
| dependencies = ["build", "build-kernel-binary"] | dependencies = ["build", "build-kernel-binary"] | ||||||
| script_runner = "@duckscript" | script_runner = "@duckscript" | ||||||
| script = [ | script = [ | ||||||
|  |  | ||||||
|  | @ -5,25 +5,28 @@ | ||||||
| #
 | #
 | ||||||
| # Build chainofcommand tool
 | # Build chainofcommand tool
 | ||||||
| #
 | #
 | ||||||
|  | [env] | ||||||
|  | CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true | ||||||
|  | 
 | ||||||
| [tasks.build] | [tasks.build] | ||||||
| clear = true |  | ||||||
| alias = "build-coc" | alias = "build-coc" | ||||||
| 
 | 
 | ||||||
| [tasks.build-device] | [tasks.build-device] | ||||||
| clear = true |  | ||||||
| alias = "empty" | alias = "empty" | ||||||
| 
 | 
 | ||||||
| [tasks.build-coc] | [tasks.build-coc] | ||||||
|  | workspace = false | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["build"] | args = ["build"] | ||||||
| 
 | 
 | ||||||
| [tasks.chainofcommand] | [tasks.chainofcommand] | ||||||
|  | workspace = false | ||||||
| alias = "build-coc" | alias = "build-coc" | ||||||
| 
 | 
 | ||||||
| [tasks.test] | [tasks.test] | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["test"] | args = ["test"] | ||||||
| 
 | 
 | ||||||
| [tasks.xtool-clippy] | [tasks.xtool-clippy] # todo this should be modules-specific? or just "clippy" for workspace cmd
 | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["clippy", "--", "-D", "warnings"] | args = ["clippy", "--", "-D", "warnings"] | ||||||
|  |  | ||||||
|  | @ -3,6 +3,9 @@ | ||||||
| #
 | #
 | ||||||
| # Copyright (c) Berkus Decker <berkus+vesper@metta.systems>
 | # Copyright (c) Berkus Decker <berkus+vesper@metta.systems>
 | ||||||
| #
 | #
 | ||||||
| # Build nucleus library
 | # Build nucleus library (machine)
 | ||||||
| #
 | #
 | ||||||
|  | [env] | ||||||
|  | CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true | ||||||
|  | 
 | ||||||
| # No special configuration needed.
 | # No special configuration needed.
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
| #![no_main] | #![no_main] | ||||||
| #![allow(stable_features)] | #![allow(stable_features)] | ||||||
| #![allow(incomplete_features)] | #![allow(incomplete_features)] | ||||||
|  | #![allow(internal_features)] | ||||||
| #![feature(asm_const)] | #![feature(asm_const)] | ||||||
| #![feature(const_option)] | #![feature(const_option)] | ||||||
| #![feature(core_intrinsics)] | #![feature(core_intrinsics)] | ||||||
|  |  | ||||||
|  | @ -5,16 +5,19 @@ | ||||||
| #
 | #
 | ||||||
| # Build nucleus
 | # Build nucleus
 | ||||||
| #
 | #
 | ||||||
|  | [env] | ||||||
|  | CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true | ||||||
|  | 
 | ||||||
| [tasks.build-kernel-binary] | [tasks.build-kernel-binary] | ||||||
|  | workspace = false | ||||||
|  | dependencies = ["build-device"] | ||||||
| env = { "BINARY_FILE" = "${KERNEL_ELF}" } | env = { "BINARY_FILE" = "${KERNEL_ELF}" } | ||||||
| run_task = "build-custom-binary" | run_task = "build-custom-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.kernel] | [tasks.kernel] | ||||||
| clear = true |  | ||||||
| alias = "build-kernel-binary" | alias = "build-kernel-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.build] | [tasks.build] | ||||||
| clear = true |  | ||||||
| alias = "build-kernel-binary" | alias = "build-kernel-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.qemu] | [tasks.qemu] | ||||||
|  |  | ||||||
|  | @ -10,6 +10,7 @@ | ||||||
| #![no_std] | #![no_std] | ||||||
| #![no_main] | #![no_main] | ||||||
| #![allow(stable_features)] | #![allow(stable_features)] | ||||||
|  | #![allow(internal_features)] | ||||||
| #![feature(asm_const)] | #![feature(asm_const)] | ||||||
| #![feature(lazy_cell)] | #![feature(lazy_cell)] | ||||||
| #![feature(decl_macro)] | #![feature(decl_macro)] | ||||||
|  |  | ||||||
|  | @ -5,15 +5,22 @@ | ||||||
| #
 | #
 | ||||||
| # Build ttt tool
 | # Build ttt tool
 | ||||||
| #
 | #
 | ||||||
|  | [env] | ||||||
|  | CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true | ||||||
|  | 
 | ||||||
| [tasks.build] | [tasks.build] | ||||||
| clear = true | disabled = true | ||||||
| alias = "ttt" | alias = "ttt-binary" | ||||||
|  | 
 | ||||||
|  | [tasks.build-device] | ||||||
|  | alias = "ttt-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.ttt] | [tasks.ttt] | ||||||
| clear = true | workspace = false | ||||||
| alias = "ttt-binary" | alias = "ttt-binary" | ||||||
| 
 | 
 | ||||||
| [tasks.ttt-binary] | [tasks.ttt-binary] | ||||||
|  | workspace = false | ||||||
| env = { "TARGET_FEATURES" = "${TARGET_BOARD}" } | env = { "TARGET_FEATURES" = "${TARGET_BOARD}" } | ||||||
| command = "cargo" | command = "cargo" | ||||||
| args = ["build", "--features=${TARGET_FEATURES}"] | args = ["build", "--features=${TARGET_FEATURES}"] | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue