diff --git a/include.sh b/include.sh index d596769e98d8cf47f0096987dd404ba978c7643a..16d265a287b159539bf66d92f6cf12045f855dd8 100755 --- a/include.sh +++ b/include.sh @@ -1,10 +1,13 @@ #!/usr/bin/env bash -set -ex +set -e include="$(realpath "$1")" -cbindgen="$(realpath cbindgen)" +cargo build --release --manifest-path cbindgen/Cargo.toml +cbindgen="$(realpath target/release/cbindgen)" + +jobs=() for config in src/header/*/cbindgen.toml do dir="$(dirname "$config")" @@ -13,8 +16,13 @@ do then header="$include/${name/_//}.h" pushd "$dir" - cargo run --release --manifest-path "$cbindgen/Cargo.toml" -- \ - -c cbindgen.toml -o "$header" mod.rs + "$cbindgen" -c cbindgen.toml -o "$header" mod.rs & + jobs+=($!) popd fi done + +for job in "${jobs[@]}" +do + wait "$job" +done