Ever burned a cake?
Go to file
2023-11-13 05:47:34 +00:00
bake.c Appease splint -weak +posixlib, stopped using gnu89 in favour of good ol' c89 + POSIX 200809 2023-11-13 05:37:03 +00:00
install.sh add -s and /home/terrorist/src/bake to shake call 2023-11-13 05:47:34 +00:00
LICENSE init 2023-09-27 05:28:54 +00:00
README Rewrite 2023-11-13 04:34:56 +00:00
shake @SHAKE -> @BAKE 2023-11-13 04:35:46 +00:00

--- Bake ---

Bake scripts into files.

Executes @BAKE to the end of the line or @STOP within in any given file.

You may have multi-line commands, by either including a leading @STOP
or ending each line with a backslash.

The execution takes place at the root of the target file, so if you have:
`test/file.c', and then execution takes place at `test'.

you may see a real example in the primary and only source file: `bake.c'.
this is not targeted toward any language and should be fairly flexible,
especially when multi-line comments are available.

Binary files (files that contain characters < ' ' or > '~') are supported.

--- Buildng ---

Bootstrapping may be done with Shake, simply run `./shake ./bake.c'

Initial building may be done by examining and running `install.sh',
or if you don't want to install it right away, run `SUDO= TARGET=. ./install.sh'

--- I/O Extension ---

I/O provides various descriptive factors about the current context for the command,
primarily the full and shortened filename, and the remaining arguments to the process.

$@: the name of the executed file
$*: the text of the filename before the last dot
$+: the remaining arguments to Bake

They are most useful for a template command, such as: @BAKE cc $@ -o $* $+

--- Options ---

only one option may be in use at a time, and must come as the first argument.

-h, --help: displays help message, similiarly to empty input.
-n, --dry-run: DRYRUN, does NOT run anything!

--- Shake ---

Bake was inspired by the Bash-based Shake utility (formerly eMake,
he liked my suggestion for a name).  It is included under authorization
of it's creator.  The original version of Shake may be found at:
<http://bis64wqhh3louusbd45iyj76kmn4rzw5ysawyan5bkxwyzihj67c5lid.onion/anon/shake>

Bake includes a modified Shake, both in installation, and as a bootstrapper.
The modified version includes all features of Bake with the exceptions of
multi-line commands.  It is not a replacement for Bake.

Bake is licensed under the GPLv3-only, See LICENSE.

Bake began on September 13th, 2023.