diff --git a/run.py b/run.py index 82892ce..42c7562 100755 --- a/run.py +++ b/run.py @@ -50,7 +50,7 @@ class Language(Enum): "build", ], Language.RUST: [ - "cargo", + "make", "build", ], Language.KOTLIN: [ diff --git a/space/src-rs/Makefile b/space/src-rs/Makefile new file mode 100644 index 0000000..2803a4a --- /dev/null +++ b/space/src-rs/Makefile @@ -0,0 +1,12 @@ + +BUILD_DIR = ../../build + +TARGET = ./target/debug/srcrs + +OUTPUT = rs.out + +all: build + +build: + cargo build + cp $(TARGET) $(BUILD_DIR)/$(OUTPUT) \ No newline at end of file diff --git a/space/src-rs/build.rs b/space/src-rs/build.rs deleted file mode 100644 index bca8c7d..0000000 --- a/space/src-rs/build.rs +++ /dev/null @@ -1,24 +0,0 @@ -use std::env; -use std::fs; -use std::path::Path; - -fn main() { - println!("cargo::rerun-if-changed=src/main.rs"); - // TODO: change to always execute build.rs - let target_dir = env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| "target".to_string()); - let profile = env::var("PROFILE").unwrap(); - let exe_name = env::var("CARGO_PKG_NAME").unwrap(); - - println!("cargo::warning={}", profile); - - let target_path = Path::new(&target_dir).join(&profile).join(&exe_name); - let dest_path = Path::new("../../build").join("rs.out"); - println!("cargo::warning={}", exe_name); - if target_path.exists() { - println!("cargo::warning=copy to {:#?}", dest_path); - match fs::copy(&target_path, &dest_path) { - Ok(_) => println!("cargo::warning=copy success"), - Err(_) => println!("cargo::warning=copy failed"), - } - } -}