| # Build targets in Shodan repository |
| |
| Here are lists of user-facing targets in Shodan. They are invoked with the |
| command of `m [make flags] <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/rvv | 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 | |
| | spike | toolchain/spike | out/host/spike | RISC-V ISA simulator (Spike) | |
| | systemc | sim/systemc | out/host/systemc | libsystemc library | |
| | springbok_systemc | hw/springbok/systemc | out/springbok/systemc | Springbok systemc implementation | |
| | verilator | sim/verilator | out/host/verilator | System Verilog HW emulator | |
| | simulate | | | E2E build and launch renode simulation. | |
| | | | | Targets include `matcha_tock_release`, | |
| | | | | `kata-bundle-release`, `multihart_boot_rom`, `iree` | |
| | debug-simulation | | | Debug version of `simulate` to be used with GDB, | |
| | | | | tock target is `matcha_tock_debug`; kata is | |
| | | | | `kata-bundle-debug`. |
| |
| ## Clean targets |
| |
| | Target | Description | |
| | :--------------------| :---------------------------------------| |
| | clean | Remove the whole out directory | |
| | qemu_clean | Remove out/host/qemu | |
| | renode_clean | Remove out/host/renode | |
| | spike_clean | Remove out/host/spike | |
| | 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 | |