checkmake - Man Page

checkmake – experimental linter for Makefiles

Synopsis

checkmake [options] makefile ...

Description

checkmake is an experimental linter for Makefiles. It allows for a set of configurable rules being run against a Makefile or a set of \*.mk files.

Options

-h,  –help

Show a friendly help message.

–version

Show version.

–debug

Enable debug mode

–config=<configPath>

Configuration file to read

–format=<format>

Output format as a Golang text/template template

–list-rules

List registered rules

Configuration

By default checkmake looks for a checkmake.ini file in the same folder it’s executed in. This can be overridden by passing the --config= argument pointing it to a different configuration file. With the configuration file the [default] section is for checkmake itself while sections named after the rule names are passed to the rules as their configuration. All keys/values are hereby treated as strings and passed to the rule in a string/string map.

The following configuration options for checkmake itself are supported within the default section:

default.format

This enables the custom output formatter with the given template string as a format

Exit Status

checkmake exits with the following status:

 0:   checkmake ran successfully and found 0 violations
>1:   checkmake found the number of violations reflected by the exit status

In addition to checkmake having found 1 violation, exit status 1 is also used to denote an error in execution happening.

Bugs

Please file bugs against the issue tracker: https://github.com/mrtazz/checkmake/issues

See Also

make(1)

Authors

Daniel Schauenberg d@unwiredcouch.com\c.

Info

2025-10-10T00:00:00Z checkmake User Manuals