HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
david-a-wheeler
make-audit
Python2022–2025
david-a-wheeler / make-audit

make-audit

Easy-to-use tool for auditing Makefiles for errors

3Distinct people
4Mentions
0Explicit recommenders
6GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Easy-to-use tool for auditing Makefiles for errors

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year4 dated mentions

Observed mentions: 2022-08-08 04:47:55 UTC to 2025-06-22 15:03:45 UTC.

0122022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC110
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

4 sources
It wouldn't have been Matthias Andrée's makel, then. * https://git.maandree.se/makel Or unmake. * https://crates.io/crates/unmake Or checkmake. * https://github.com/checkmake/checkmake (https://news.ycombinator.com/item?id=32460375) Or make-audit. * https://github.com/david-a-wheeler/make-audit Or the Sublime linter for makefiles. * https://github.com/giampaolo/SublimeLinter-contrib-makefile It hasn't taken quite the 50 years that we are told, has it? (-:
In Mbake – A Makefile formatter and linter, that only took 50 years
Cool! I also have an experimental (GNU) makefile auditor called "make-audit", available here: https://github.com/david-a-wheeler/make-audit Per its README: "It will report when an execution of make reads or changes files in ways that are inconsistent with its Makefile. It requires an "auditor" tool named pmaudit in your PATH. It also requires GNU make to be installed and run as make." Note that these tools are looking for different things and taking different approaches. My make-audit tool is a dynamic analysis tool - you run make and it watches what is done. This "checkmake" tool appears to use static analysis to check against various rules (e.g., there should be an "all"), which is fine but it's a different kind of check. Sadly, my make-audit tool is also rather experimental. As I say in its README, "This is an extremely early version.
Read the rest
Much needs fixing." For example: * This doesn't properly handle grouped targets or empty commands. It should handle makefiles with their own SHELL and .ONESHELL values. * I don't think it handles multi-line make commands exactly correctly (it's close but not quite right). * Lots more options are needed. * It needs a better internal test suite. Still, make-audit does do some useful things, and it'd be awesome if others would be willing to work with me to make it reliably useful.
In Checkmake: Experimental Linter/Analyzer for Makefiles
This is very cool. A while back I started an experiment/prototype called "make-audit"; this is a (draft) tool to report when an execution of GNU make reads or changes files in ways that are inconsistent with its Makefile: https://github.com/david-a-wheeler/make-audit It's nowhere ready for serious use, but it can detect the following: * Error: Target TARGET : unreported prerequisites: SET : The make recipe for creating TARGET is reading from the prerequisites in SET, but the makefile fails to report them as dependencies. You may want to add SET to the prerequisites of TARGET. * Error: Target TARGET : claimed but unused prerequisites: SET : The make recipe for creating TARGET claims that it depends on SET, but the items in SET were never read. You may want to remove SET from the prerequisites of TARGET. * Error: Target TARGET : unreported
Read the rest
target: SET The make recipe for updating TARGET also modifies the files in SET but this is not reported. * Error: Target TARGET : unmodified reported target: SET This depended on Poor Man's File Auditor (pmaudit): https://github.com/boyski/pmaudit
In Using Landlock to Sandbox GNU Make

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.