Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions build-scx-scheds/build-scheds.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,30 @@ fi

pushd $SCX_ROOT

rm -rf $OUTPUT_DIR && mkdir -p $OUTPUT_DIR
rm -rf $OUTPUT_DIR && mkdir -p $OUTPUT_DIR/bpf

extract_bpf_progs() {
build_dir=$1
pattern=$2
bpf_dir=$3
find "${build_dir}" -type f -name "$pattern" -printf '%P\0' | \
while IFS= read -r -d '' prog; do
obj_name=$(echo "${prog}" | tr / _)
cp -v "${build_dir}/${prog}" "${bpf_dir}/${obj_name}"
done
}

# build C scheds
# .SECONDARY prevents make from deleting the intermediate .bpf.o files
echo '.SECONDARY:' >> scheds/c/Makefile
make all -j$(nproc)
mv build $OUTPUT_DIR/c-scheds
mv build $OUTPUT_DIR/c-build
extract_bpf_progs $OUTPUT_DIR/c-build/scheds "*.bpf.o" $OUTPUT_DIR/bpf

# build Rust scheds
. $HOME/.cargo/env
cargo build --release
mv target/release/build $OUTPUT_DIR/rust-scheds
mv target/release/build $OUTPUT_DIR/rust-build
extract_bpf_progs $OUTPUT_DIR/rust-build "bpf.bpf.o" $OUTPUT_DIR/bpf

popd
Loading