2023-11-12 23:34:56 -05:00
|
|
|
--- Bake ---
|
|
|
|
|
2023-10-15 20:56:16 -04:00
|
|
|
Bake scripts into files.
|
2023-09-27 01:28:54 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
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'.
|
2023-09-27 01:28:54 -04:00
|
|
|
|
2023-10-15 20:56:16 -04:00
|
|
|
you may see a real example in the primary and only source file: `bake.c'.
|
2023-09-27 01:46:28 -04:00
|
|
|
this is not targeted toward any language and should be fairly flexible,
|
|
|
|
especially when multi-line comments are available.
|
2023-09-27 01:28:54 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
Binary files (files that contain characters < ' ' or > '~') are supported.
|
2023-10-15 20:56:16 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
--- Buildng ---
|
2023-09-28 02:20:48 -04:00
|
|
|
|
2023-10-15 20:56:16 -04:00
|
|
|
Bootstrapping may be done with Shake, simply run `./shake ./bake.c'
|
|
|
|
|
2023-09-27 01:59:13 -04:00
|
|
|
Initial building may be done by examining and running `install.sh',
|
2023-11-12 23:34:56 -05:00
|
|
|
or if you don't want to install it right away, run `SUDO= TARGET=. ./install.sh'
|
|
|
|
|
|
|
|
--- I/O Extension ---
|
2023-09-27 01:59:13 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
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.
|
2023-09-27 01:28:54 -04:00
|
|
|
|
|
|
|
$@: the name of the executed file
|
|
|
|
$*: the text of the filename before the last dot
|
2023-10-15 20:56:16 -04:00
|
|
|
$+: the remaining arguments to Bake
|
2023-09-27 01:28:54 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
They are most useful for a template command, such as: @BAKE cc $@ -o $* $+
|
|
|
|
|
|
|
|
--- Options ---
|
2023-09-28 02:20:48 -04:00
|
|
|
|
|
|
|
only one option may be in use at a time, and must come as the first argument.
|
|
|
|
|
2023-10-09 22:19:53 -04:00
|
|
|
-h, --help: displays help message, similiarly to empty input.
|
|
|
|
-n, --dry-run: DRYRUN, does NOT run anything!
|
2023-09-28 02:20:48 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
--- Shake ---
|
2023-09-28 02:20:48 -04:00
|
|
|
|
2023-10-15 20:56:16 -04:00
|
|
|
Bake was inspired by the Bash-based Shake utility (formerly eMake,
|
2023-11-12 23:34:56 -05:00
|
|
|
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:
|
2023-10-16 01:52:44 -04:00
|
|
|
<http://bis64wqhh3louusbd45iyj76kmn4rzw5ysawyan5bkxwyzihj67c5lid.onion/anon/shake>
|
2023-09-27 01:28:54 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
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.
|
2023-10-15 20:56:16 -04:00
|
|
|
|
2023-11-12 23:34:56 -05:00
|
|
|
Bake is licensed under the GPLv3-only, See LICENSE.
|
2023-09-27 02:05:22 -04:00
|
|
|
|
2023-10-15 20:56:16 -04:00
|
|
|
Bake began on September 13th, 2023.
|