blob: 4de5b0c9e4ed6f7491381f429e8959771395f365 [file] [log] [blame] [view]
# 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
| Target | Source | Output | Description |
| :-------------------| :-------------------------------| :----------------------| :----------------------------------------------------|
| prereqs | | | Install build prerequisites |
| tools | | cache | Install RISCV compiler and emulator tools, including |
| | | out/host | Rust, GCC, CLANG, `verilator`, `qemu`, `renode` |
| kata | kata/ | out/kata | SMC seL4 and user space applications |
| matcha_tock_release | sw/tock/boards/opentitan-matcha | out/tock-release | The operating system running on the security core, |
| | sw/libtock-rs | out/libtock-rs | and its Rust library |
| multihart_boot_rom | sw/multihart_boot_rom | out/shodan_boot_rom | Shodan boot rom |
| springbok | sw/vec | out/springbok | Vector core BSP and RVV test code |
| iree_compiler | | out/host/iree_compiler | IREE host compiler |
| iree_runtime | toolchain/iree | out/springbok_iree | IREE runtime applications |
| | sw/vec_iree | | |
| iree | | | Shorthand for `iree_compiler` and `iree_runtime` |
| opentitan_sw_all | hw/opentitan | out/opentitan | HW testing binaries |
| qemu | toolchain/ristv-qemu | out/host/qemu | QEMU emulator |
| renode | sim/renode | out/host/renode | Renode emulator |
| verilator | sim/verilator | out/host/verilator | System Verilog HW emulator |
| simulate | | | E2E build and launch renode simulation. |
| | | | Targets include `matcha_tock_release`, |
| | | | `kata`, `multihart_boot_rom`, `iree` |
| debug-simulation | | | Debug version of `simulate` to be used with GDB, |
| | | | tock target is `matcha_tock_debug`. |
## Clean targets
| Target | Description |
| :--------------------| :---------------------------------------|
| clean | Remove the whole out directory |
| qemu_clean | Remove out/host/qemu |
| renode_clean | Remove out/host/renode |
| verilator_clean | Remove out/host/verilator |
| toolchain_clean | Remove cache/toolchain |
| toolchain_llvm_clean | Remove cache/toolchain_iree_rv32imf |
| opentitan_sw_clean | Remove out/opentitan |
| tock_clean | Clean out/tock-debug |
| | and out/tock-release (`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.
| Target | Description |
| :--------------------| :--------------------------------------------------|
| toolchain | Build GCC toolchain for the security core/SMC |
| toolchain_llvm | Build LLVM toolchain for the vector core |
| toolchain_vp | (Optional) Build GCC toolchain for the vector core |