Build targets in Shodan repository

Here are lists of user-facing targets in Shodan. They are invoked with the command of m <target>.

Build targets

TargetSourceOutputDescription
prereqsInstall build prerequisites
toolscacheInstall RISCV compiler and emulator tools,
out/hostincluding Rust, GCC, CLANG, verilator, qemu, renode
katakata/out/kataSMC seL4 and user space applications
tocksw/tock/boards/opentitan-matchaout/ tockThe operating system running on the security core,
sw/libtock-rsout/libtock-rsand its Rust library
multihart_boot_romsw/multihart_boot_romout/shodan_boot_romShodan boot rom
springboksw/vecout/springbokVector core BSP and RVV test code
iree_compilerout/host/iree_compilerIREE host compiler
iree_runtimetoolchain/ireeout/springbok_ireeIREE runtime applications
sw/vec_iree
ireeShorthand for iree_compiler and iree_runtime
opentitan_sw_allhw/opentitanout/opentitanHW testing binaries
qemutoolchain/ristv-qemuout/host/qemuQEMU emulator
renodesim/renodeout/host/renodeRenode emulator
verilatorsim/verilatorout/host/verilatorSystem Verilog HW emulator
simulateE2E build and launch renode simulation.
Targets include tock, kata, multihart_boot_rom, iree
debug-simulationDebug version of simulate

Clean targets

TargetDescription
cleanRemove the whole out directory
qemu_cleanRemove out/host/qemu
renode_cleanRemove out/host/renode
verilator_cleanRemove out/host/verilator
toolchain_cleanRemove cache/toolchain
toolchain_llvm_cleanRemove cache/toolchain_iree_rv32imf
opentitan_sw_cleanRemove out/opentitan
tock_cleanClean out/tock (make clean)

Optional toolchain targets (Used upon request)

The following targets should not be called in the typical development. They should be called by CI and only upon request, i.e., NOT be built regularly.

TargetDescription
toolchainBuild GCC toolchain for the security core/SMC
toolchain_llvmBuild LLVM toolchain for the vector core
toolchain_vp(Optional) Build GCC toolchain for the vector core