mirror of
https://github.com/sched-ext/scx.git
synced 2024-12-02 07:17:12 +00:00
29 lines
478 B
Plaintext
29 lines
478 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
out=$("$1" 'map(select(.["file"] | contains ("cc_cflags_probe.c"))) | first | .["command"]' < compile_commands.json)
|
||
|
out=${out#\"}
|
||
|
out=${out%\"}
|
||
|
args=($out)
|
||
|
|
||
|
idx=0
|
||
|
cc=${args[idx]}
|
||
|
if [ "$cc" = "ccache" ]; then
|
||
|
idx=$((idx+1))
|
||
|
cc="$cc ${args[idx]}"
|
||
|
fi
|
||
|
|
||
|
declare -a cflags=()
|
||
|
|
||
|
for arg in ${args[@]:(idx+1)}; do
|
||
|
case $arg in
|
||
|
-I*|-M*|-o|-c) ;;
|
||
|
-*) cflags+="$arg ";;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
cd $3
|
||
|
make_out=$(env CC="$cc" CFLAGS="$cflags" "$2" -j"$4")
|
||
|
exit $?
|