docs: Add build target lists Bug: 200728724 Change-Id: I4fb62a6947ad8075951b2a5a844bf0a112c93965
diff --git a/BuildTargetsExplained.md b/BuildTargetsExplained.md new file mode 100644 index 0000000..ad0c3f6 --- /dev/null +++ b/BuildTargetsExplained.md
@@ -0,0 +1,53 @@ +# 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, | +| | | out/host | including Rust, GCC, CLANG, `verilator`, `qemu`, `renode` | +| kata | kata/ | out/kata | SMC seL4 and user space applications | +| tock | sw/tock/boards/opentitan-matcha | out/ tock | 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 `tock`, `kata`, `multihart_boot_rom`, `iree` | +| debug-simulation | | | Debug version of `simulate` | + +## 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 (`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 |
diff --git a/GettingStarted.md b/GettingStarted.md index a9714ae..8de1f1d 100644 --- a/GettingStarted.md +++ b/GettingStarted.md
@@ -318,4 +318,6 @@ ## More Information -- [Information on how to use repo](https://go/repo) +For more available Shodan build targets, please see [Build target lists](./BuildTargetsExplained.md). + +Also, [Information on how to use repo](https://go/repo)