shake

minimal build system that generates Ninja build files

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

DateCommit messageAuthorFiles+-
2026-03-19 14:37add genfile functionJul1+10-1
2026-03-18 08:24add SHAKE_FORMAT to handle ninja description formattingJul2+12-5
2026-03-18 07:08change var command to letJul5+29-29
2026-03-18 06:53flip the $dir/$outdir prefixing with phony buildsJul1+17-19
2026-03-18 06:27improve build input handlingJul1+16-6
2026-03-18 06:09reserve $opts variableJul1+1-0
2026-03-18 06:03add error message on invalid importJul1+3-0
2026-03-16 16:38fix missing * in file pattern matchingJul1+1-1
2026-03-16 16:28fix path to build.ninja in main ninja fileJul1+1-1
2026-03-16 16:12reserve $in and $out variablesJul3+15-12
2026-03-16 16:06add optional flag parsing to rule commandJul1+64-4
2026-03-16 13:26auto add dependencies in rules to buildJul1+27-4
2026-03-16 12:55fix handling files with dashesJul1+18-23
2026-03-15 16:01add $shakedir varJul1+4-2
2026-03-15 15:33add groupin/groupout functionsJul2+65-8
2026-03-15 13:04save inputs/outputs in fd 4/5 and ninja in fd 3Jul1+84-61
2026-03-15 08:31save ninja files to .shake directoryJul3+18-17
2026-03-15 07:47do not auto target when running in subdirectoryJul1+10-10
2026-03-15 06:53migrat awk script logic to shellJul4+71-162
2026-03-15 04:40add licenseJul1+21-0
2026-03-14 09:00add readmeJul2+257-1
2026-03-13 11:01remove shebangs from examplesJul4+0-8
2026-03-13 05:05add awk script to the installJul1+1-0
2026-03-13 04:54use - and -- for build dependenciesJul3+5-5
2026-03-13 04:49ignore build output dupsJul1+13-4
2026-03-13 04:32remove prefix and build parsing from shellJul5+24-75
2026-03-12 19:15handle prefixing and build formatting in awkJul2+81-43
2026-03-12 19:11add header file as ninja dependency in nested exampleJul1+1-1
2026-03-12 14:01prefix ninja default values from shell to awkJul2+11-6
2026-03-12 13:31move inlining from shell to awkJul2+31-26
2026-03-12 12:26error on unknown awk lineJul1+5-0
2026-03-12 11:58introduce awk scriptJul2+48-9
2026-03-12 06:39remove write function - pipe stdout to ninja fileJul1+49-67
2026-03-12 05:51revert shake lib pathJul2+21-1
2026-03-12 05:31pipe error messages to stderrJul1+1-1
2026-03-09 15:00gitignore .shake dir in simple exampleJul1+1-2
2026-03-09 14:47align vars in exampleJul2+7-7
2026-03-09 14:46create builddir from shake, not ninjaJul1+1-0
2026-03-09 14:46fix recursive loop finding root dirJul1+1-1
2026-03-09 13:54run shake on build when Shakefile changesJul1+3-1
2026-03-09 13:43remove uneccessary default in nested exampleJul1+0-2
2026-03-09 13:27add header file to nested exampleJul4+7-3
2026-03-09 12:49cd to root directory and set target on childJul1+44-24
2026-03-09 11:39inline init_genJul1+11-13
2026-03-09 11:34set ninja builddir to .shake/Jul1+2-1
2026-03-09 11:32fix recursing by resetting initial target valueJul1+1-1
2026-03-09 11:30fix check for build.ninjaJul1+2-1
2026-03-09 11:29add nested exampleJul6+47-0
2026-03-09 08:24remove shake_lib from install scriptJul1+1-9
2026-03-09 08:23add simple exampleJul5+47-0
2026-03-09 08:19remove shake_lib and ninja_optsJul1+0-18
2026-03-05 17:19initJul2+375-0