shmk(1) General Commands Manual shmk(1)

shmkThis line parsed for whatis database.

shmk [--debug | --release] [-t | --target target] [--color when] [-h | --help] [-V | --version] [recipie]

shmk Is a minimal, portable build system written entirely in POSIX shell.

A list of flags and their descriptions:

recipe
Name of the recipe to run (e.g. 'all', 'clean', 'build'). Defaults to 'all' if not set
, --target target
Build for the target triple
Build artifacts in release mode (might with optimizations)
when
Use colored output: always (default), or never
--help
Show this help message and exit
--version
Show version information and exit

default archiver (e.g., ar)
assembler (e.g., as)
C compiler (e.g., gcc)
C++ compiler (e.g., g++)
C preprocessor (default: "$CC -E")
parser generator
linker
removal command (default: "rm -f")
flags passed to $AR
C compiler flags
C++ compiler flags
C preprocessor flags
linker flags
libraries passed to the linker
if set to 1, commands are logged but not run

(default_recipe, parameters)
Main task dispatcher; executes a default recipe based on user arguments.
(version)
Requires a minimum version of shmk. If not matched, script will be exit with status of 1.
(recipe_name)
Registers a recipe function.
(var_name, prog_name, [paths...])
Find executable by name.
(recipe_name)
Execute a recipe by name; wraps a call to a function like r_<name>.
(arguments...)
Execute a shell command; respects dry-run mode.
(message)
Print a general log message with standard formatting (non-color-critical).
(message)
Print an informational log message.
(message)
Print a warning message (e.g., yellow), optionally to stderr.
(message)
Print an error message (in red), to stderr.
(message)
Print a success message (in green).
(message)
Print a debug message (e.g., blue or dim).

/usr/local/lib/shmk.sh
Main script to be sourced in build scripts.
/usr/local/lib/shmk/modules/
Directory containing optional modules (e.g., packaging, deployment).
06/22/2025 POSIX