Ever burned a cake?
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Emil e31c6adc26
add -s and /home/terrorist/src/bake to shake call
3 weeks ago
LICENSE init 2 months ago
README Rewrite 3 weeks ago
bake.c Appease splint -weak +posixlib, stopped using gnu89 in favour of good ol' c89 + POSIX 200809 3 weeks ago
install.sh add -s and /home/terrorist/src/bake to shake call 3 weeks ago
shake @SHAKE -> @BAKE 3 weeks ago


--- 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:

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.