https://github.com/alecthomas/mk
One-liner "make" targets on the command-line
https://github.com/alecthomas/mk
Last synced: 11 months ago
JSON representation
One-liner "make" targets on the command-line
- Host: GitHub
- URL: https://github.com/alecthomas/mk
- Owner: alecthomas
- Created: 2024-03-18T09:50:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-18T05:09:47.000Z (over 1 year ago)
- Last Synced: 2024-12-18T06:21:42.885Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 63.5 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# One-liner `make` rules on the command-line.
Compare timestamps of inputs and outputs, exiting with a non-zero status
or executing command if any input is newer than all outputs. If an input or
output is a directory, it is recursed into.
If a command is provided it is run through `bash -c`. If a single command
argument is provided it will be run as-is, otherwise all arguments will be
joined with shell quoting.
eg.
mk main.o : main.c -- cc -c main.c && \
mk main : main.o -- cc -o main main.o
Like make, if a command is prefixed with `@` it will not be echoed.
Use `MK_LOG=trace` or `--log-level=trace` to see debug output.
```
Usage: mk [OPTIONS] ...
Arguments:
...
Options:
-C, --chdir
Change to directory DIR before doing anything
[default: .]
--log-level
Set log level
[default: error]
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
```