shake
minimal build system that generates Ninja build files
git clone https://9o.is/git/shake.git
commit 55c931e4bc4ad378deaf09a7bcb0f318feb6e4a6 parent 1bf63832914298d90e74d7e9ff01c4514d7b0c7a Author: Jul <jul@9o.is> Date: Mon, 9 Mar 2026 19:39:58 +0800 inline init_gen Diffstat:
| M | shake | | | 24 | +++++++++++------------- |
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/shake b/shake @@ -54,18 +54,6 @@ if [ ! -f Shakefile ]; then exit 1 fi -init_gen() { - var ninja_required_version 1.8 - var builddir $BUILDDIR - var dir $DIR - var outdir $OUTDIR - - rule gen "$SHAKE_BIN $dir" - bind description SHAKE $dir - bind generator 1 - bind restat 1 -} - init_file() { if persist && [ -e $DIR/$NINJA_FILE.tmp ]; then rm -f $DIR/$NINJA_FILE.tmp @@ -298,7 +286,17 @@ foreach() { set_target init_file -init_gen + +var ninja_required_version 1.8 +var builddir $BUILDDIR +var dir $DIR +var outdir $OUTDIR + +rule gen "$SHAKE_BIN $dir" +bind description SHAKE $dir +bind generator 1 +bind restat 1 + trap fini_gen EXIT . $DIR/Shakefile