text
_
_ _ ___ _____ ___| |_ ___
| | | | | .'| '_| -_|
|___|_|_|_|_|_|__,|_,_|___|
unmake
checks makefiles for syntax errors and portability issues.
```console $ cd fixtures
$ unmake . error: ./invalid/crlf.mk:1:5 found "\r", expected: LF, comment, inline command, macro expansion, target, wait prerequisite marker ... ```
See unmake -h
for more options.
unmake
automatically recurses over directories.
When recursing over directories, unmake
skips symlinks.
unmake
skips many implementation-specific files named like GNUmakefile
or BSDmakefile
.
unmake
skips many machine-generated makefiles. For example, makefiles produced by autotools; Perl; and cmake when using the Unix Makefile generator (both in-source builds and out-of-source builds).
unmake
skips any third party makefiles house in subdirectories like .git
, node_modules
, or vendor
.
To investigate makefiles in more detail, try the --debug
or --inspect
options.
unmake
can identify subtle makefile quirks.
See SYNTAX.md for more information.
Coming soon.
https://crates.io/crates/unmake
https://docs.rs/unmake/latest/unmake/
https://github.com/mcandre/unmake/releases
console
$ cargo install --force --path .
(None)
For more details on developing crit itself, see DEVELOPMENT.md.
FreeBSD
Some projects using unmake
to safeguard their makefiles: