Review comments
diff --git a/build.rs b/build.rs index c370bd9..8cdb6ae 100644 --- a/build.rs +++ b/build.rs
@@ -10,20 +10,20 @@ static ENV_VAR: &str = "PLATFORM"; static FILE_NAME: &str = "platform"; - let platform_name = read_board_name_from_env_var(ENV_VAR) - .or_else(|| read_board_name_from_file(FILE_NAME)) - .unwrap_or_else(|| { - println!( - "No platform specified. Either set the environment \ - variable {} or create a file named `{}`", - ENV_VAR, FILE_NAME - ); - process::exit(1); - }); + println!("cargo:rerun-if-env-changed={}", ENV_VAR); + println!("cargo:rerun-if-changed={}", FILE_NAME); - println!("cargo:rustc-env={}={}", ENV_VAR, platform_name); - - copy_linker_file(&platform_name.trim()); + let platform_name = + read_board_name_from_env_var(ENV_VAR).or_else(|| read_board_name_from_file(FILE_NAME)); + if let Some(platform_name) = platform_name { + println!("cargo:rustc-env={}={}", ENV_VAR, platform_name); + copy_linker_file(&platform_name.trim()); + } else { + println!( + "cargo:warning=No platform specified. \ + Remember to manually specify a linker file.", + ); + } } fn read_board_name_from_env_var(env_var: &str) -> Option<String> {
diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..b13b751 --- /dev/null +++ b/doc/README.md
@@ -0,0 +1,7 @@ +# Available flash commands + +- `cargo rriscv32iamc`/`cargo rrv32iamc`: Use the `riscv32iamc-unknown-none-elf` target +- `cargo rriscv32imc`/`cargo rrv32imc`: Use the `riscv32imc-unknown-none-elf` target +- `cargo rthumbv7em`/`cargo rtv7em`: Use the `thumbv7em-none-eabi` target + +Before flashing, write your board name to the environment variable `PLATFORM` or to a file named `platform` \ No newline at end of file