fn main() { let arch = std::env::var("VAP_ARCH").unwrap(); // set by Makefile println!("cargo:rerun-if-changed=assembly/{}", arch); let mut cc_build = cc::Build::new(); let cc_build = cc_build .file(format!("assembly/{}/pls_stabilise_inline_ppc_asm.S", arch)) .file(format!("assembly/{}/exception.S", arch)); match &arch[..] { "ppc32" => { cc_build .flag("-mcpu=powerpc") .flag("-m32") .flag("-nostdlib") .flag("-msoft-float"); }, _ => panic!("unknown architecture: {}", arch), } cc_build.compile("vap_asm"); // link to the assembly file //println!("cargo:rustc-link-lib=static=vap_asm"); // specify the linker.ld script //println!("cargo:rustc-link-arg=-Tassembly/{}/linker.ld", arch); }