checkmake(1)

πŸ“¦
version 0.2.2 Β· 3 versions
, in fedora 43

πŸ’– NAME πŸ’–

okay so bestie, listen: checkmake is an experimental linter for Makefiles. that's the whole vibe. it looks at your Makefiles and is like "girl... no." ✨


πŸŽ€ SYNOPSIS πŸŽ€

checkmake [options] makefile ...

πŸ¦‹ DESCRIPTION πŸ¦‹

so checkmake is an experimental linter for Makefiles β€” lowkey iconic of it. what it does is run a whole set of configurable rules against a Makefile, or against a bunch of *.mk files if you're feeling extra. that's it, that's the girl. πŸ’…


✨ OPTIONS ✨

  • -h, --help β€” prints a friendly help message 🫢 (yes it's actually friendly, we don't do mean here)
  • --version β€” shows the version, in case you forgot which one you're running
  • --debug β€” turns on debug mode, for when you need to see everything πŸ‘€
  • --config=<configPath> β€” the configuration file to read
  • --format=<format> β€” output format, given as a Golang text/template template
  • --list-rules β€” lists all the registered rules, so you know what's coming for you

🌸 CONFIGURATION 🌸

so by default, checkmake goes looking for a checkmake.ini file in the same folder it's executed in. that's its home base. but you can override that by passing the --config= argument and pointing it at a different configuration file instead. main character energy, honestly.

inside that config file:

  • the [default] section is for checkmake itself πŸ’–
  • sections named after the rule names get passed to those rules as their configuration

and just so we're clear: all keys and values are treated as strings here, and they get handed to the rule in a string/string map. no fancy types, no cap. 🧚

⭐ configuration options for checkmake itself ⭐

these live inside the default section:

  • default.format β€” this enables the custom output formatter, using the given template string as a format

πŸ’€ EXIT STATUS πŸ’€

checkmake bails out with these statuses:

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

okay and here's the important bit, don't skip this: in addition to checkmake having found 1 violation, exit status 1 is also used to denote an error in execution happening. so if you see a 1, it could be one violation, or it could be the whole thing faceplanting. rude of it, but there you go. 😭


πŸ› BUGS πŸ›

found a bug? bestie, please file it against the issue tracker:

https://github.com/mrtazz/checkmake/issues

🌈 SEE ALSO 🌈


πŸ‘‘ AUTHORS πŸ‘‘

  • Daniel Schauenberg d@unwiredcouch.com

and that's the whole page, bestie!! πŸŽ€ this was the checkmake user manual, dated 2025-09-29T00:00:00Z. go forth, lint your Makefiles, and slay πŸ’…βœ¨

πŸ“¦ where this page comes from