use std::{env, fs, path::PathBuf};
fn main() {
let target = env::var("TARGET").unwrap();
let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
if target.starts_with("thumbv8m") {
let memory_x = fs::read_to_string("memory-pico2.x").expect("Failed to read memory-pico2.x");
let dest = out_dir.join("memory.x");
fs::write(&dest, memory_x).expect("Failed to write memory.x");
println!("cargo:rustc-link-search={}", out_dir.display());
println!("cargo:rerun-if-changed=memory-pico2.x");
} else if target.starts_with("riscv32imac") {
let memory_x = fs::read_to_string("memory-pico2-riscv.x")
.expect("Failed to read memory-pico2-riscv.x");
let dest = out_dir.join("memory.x");
fs::write(&dest, memory_x).expect("Failed to write memory.x");
println!("cargo:rustc-link-search={}", out_dir.display());
println!("cargo:rerun-if-changed=memory-pico2-riscv.x");
} else if target.starts_with("thumbv6m") {
let memory_x =
fs::read_to_string("memory-pico1w.x").expect("Failed to read memory-pico1w.x");
let dest = out_dir.join("memory.x");
fs::write(&dest, memory_x).expect("Failed to write memory.x");
println!("cargo:rustc-link-search={}", out_dir.display());
println!("cargo:rerun-if-changed=memory-pico1w.x");
}
}