shake

minimal build system that generates Ninja build files

git clone https://9o.is/git/shake.git

commit 75a4cfd10561d56ec756c5e8169fdad480a6673d
parent 79f83c96550ce40f2cb975a71fc441504acb28f9
Author: Jul <jul@9o.is>
Date:   Mon, 16 Mar 2026 00:01:39 +0800

add $shakedir var

Diffstat:
Mshake | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/shake b/shake @@ -119,7 +119,7 @@ _shake_close() { unset -v SHAKE_GROUPOUT fi - printf 'build %s: gen | %s\n' "$_f.ninja $_f.ins $_f.out" "$GEN_FILES" >&3 + printf 'build %s: gen | %s\n' "$shakedir/local.ninja $shakedir/local.ins $shakedir/local.out" "$GEN_FILES" >&3 printf 'build $dir/ninja: phony %s\n' "$NINJA_FILES" >&3 fi @@ -156,11 +156,12 @@ shake() { SHAKEDIR=$SHAKEDIR/$1 SHAKEFILE=$SHAKEDIR/local GEN_FILES="$GEN_FILES $DIR/Shakefile" - NINJA_FILES=$SHAKEDIR/local.ninja + NINJA_FILES=$shakedir/local.ninja _shake_open var dir $dir/$1 var outdir $outdir/$1 + var shakedir $shakedir/$1 [ "${2-}" ] && eval "$2 $1" . $DIR/Shakefile @@ -337,6 +338,7 @@ var ninja_required_version 1.8 var builddir $SHAKEDIR var dir $DIR var outdir $OUTDIR +var shakedir $SHAKEDIR rule gen "$SHAKE_BIN $dir" bind description SHAKE $dir