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)