81 lines
1.6 KiB
Makefile
81 lines
1.6 KiB
Makefile
_default:
|
|
@just --list
|
|
|
|
# Build and run kernel in QEMU with serial port emulation
|
|
zellij:
|
|
cargo make zellij-nucleus
|
|
zellij --layout-path emulation/layout.zellij
|
|
|
|
# Build and run kernel in QEMU
|
|
qemu:
|
|
cargo make qemu
|
|
|
|
# Build and run kernel in QEMU with GDB port enabled
|
|
qemu-gdb:
|
|
cargo make qemu-gdb
|
|
|
|
# Build and write kernel to an SD Card
|
|
device:
|
|
cargo make sdcard
|
|
|
|
# Build and write kernel to an SD Card, then eject the SD Card volume
|
|
device-eject:
|
|
cargo make sdeject
|
|
|
|
# Build default hw kernel
|
|
build:
|
|
cargo make build
|
|
|
|
# Clean project
|
|
clean:
|
|
cargo make clean
|
|
|
|
# Run clippy checks
|
|
clippy:
|
|
# TODO: use cargo-hack
|
|
cargo make clippy
|
|
env CLIPPY_FEATURES=noserial cargo make clippy
|
|
env CLIPPY_FEATURES=qemu cargo make clippy
|
|
env CLIPPY_FEATURES=noserial,qemu cargo make clippy
|
|
env CLIPPY_FEATURES=jtag cargo make clippy
|
|
env CLIPPY_FEATURES=noserial,jtag cargo make clippy
|
|
|
|
# Run tests in QEMU
|
|
test:
|
|
cargo make test
|
|
|
|
alias disasm := hopper
|
|
|
|
# Build and disassemble kernel
|
|
hopper:
|
|
cargo make hopper
|
|
|
|
alias ocd := openocd
|
|
|
|
# Start openocd (by default connected via JTAG to a target device)
|
|
openocd:
|
|
cargo make openocd
|
|
|
|
# Build and run kernel in GDB using openocd or QEMU as target (gdb port 5555)
|
|
gdb:
|
|
cargo make gdb
|
|
|
|
# Build and print all symbols in the kernel
|
|
nm:
|
|
cargo make nm
|
|
|
|
# Check formatting
|
|
fmt-check:
|
|
cargo fmt -- --check
|
|
|
|
# Run `cargo expand` on nucleus
|
|
expand:
|
|
cargo make expand -- nucleus
|
|
|
|
# Generate and open documentation
|
|
doc:
|
|
cargo make docs-flow
|
|
|
|
# Run CI tasks
|
|
ci: clean build test clippy fmt-check
|