Automic VaultAutomic Vault

brew

Install makefile2graph with Homebrew, apt, Nix

Create a graph of dependencies from GNU-Make. Version 2021.11.06 via Homebrew; verified 2026-06-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install makefile2graph

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install makefile2graph

Debian stable package indexes · makefile2graph · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#makefile2graph

nixpkgs package indexes · pkgs/by-name/ma/makefile2graph/package.nix · source: api.github.com

overview

Package summary

Create a graph of dependencies from GNU-Make

Commands and aliases

  • make2graph
  • makefile2graph

history

Project history and usage

makefile2graph is a small command-line tool that turns GNU Make's debug database output into dependency graphs.

Project history

The upstream repository was created in 2014 and the README history records active feature work starting in September 2014, including fixes for GNU Make 4.0 output, long options, basename and suffix handling, root node output, and version printing.

The README shows the tool widening beyond its original Graphviz/dot and GEXF XML output. It added a 'deep' output mode in December 2014, graph formatting controls in August 2023, and PlantUML and Mermaid output formats on August 30, 2023.

Adoption history

The official README describes a specific package-maintainer workflow: pipe 'make -Bnd' into make2graph, then feed dot output to Graphviz or emit XML, PlantUML, Mermaid, target lists, or deepest independent targets.

Its adoption evidence is mostly repository-level and use-case based rather than institutional. The README's cluster note for deepest independent targets shows the tool solving a real build-analysis problem for complex makefiles.

How it is used

Typical usage is 'make -Bnd | make2graph > output.dot' or piping the result to Graphviz to render an image. Other formats include GEXF XML, Mermaid, PlantUML, all-target lists, and deepest independent target output.

The README notes an important parser constraint: make2graph only parses English messages from GNU Make, so users with another locale should set LC_ALL=C. It also states that sub-makefiles are not supported.

Why package nerds care

makefile2graph is the sort of tool package maintainers reach for when a makefile has become a dependency maze. It gives a visual or list-oriented view of what GNU Make thinks it is going to do.

It is also interesting because it depends on GNU Make's own debug output rather than reimplementing a makefile parser. That keeps the tool small, but ties it to GNU Make output format and locale.

Timeline

  • 2014: GitHub repository is created.
  • 2014: README history records fixes for GNU Make 4.0 output and early CLI options.
  • 2014: 'deep' output is added for deepest independent targets.
  • 2023: Graph, node, edge, and dirty attribute options are added.
  • 2023: PlantUML and Mermaid output formats are added.

Related projects

  • GNU Make is the input source whose debug output makefile2graph parses.
  • Graphviz/dot is the default graph output target.
  • PlantUML and Mermaid are later text graph output targets.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
make2graphcliglobal executable
makefile2graphcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2021.11.06
manager updated2026-06-13
local dataok
upstreamcurrent
latest detected2021.11.06

https://github.com/lindenb/makefile2graph

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:makefile2graph
Version2021.11.06
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/makefile2graph
Homepagehttps://github.com/lindenb/makefile2graph
Repositoryhttps://github.com/lindenb/makefile2graph
Upstream docshttps://github.com/lindenb/makefile2graph#readme
LicenseMIT
Source archivehttps://github.com/lindenb/makefile2graph/archive/refs/tags/2021.11.06.tar.gz
Last updated2026-06-13T23:35:04+02:00
Pulseupdated
Dependenciesgraphviz
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namemakefile2graph
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

makefile2graph 2021.11.06-1+b1

creates a graph of dependencies from GNU-Make

https://github.com/lindenb/makefile2graph

sudo apt install makefile2graph
  • Section: misc
  • Architecture: amd64
  • Source Package: makefile2graph
  • 2 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Makefile2graph
Debian stable package indexes · deb.debian.org · Debian stable package indexes: makefile2graph from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

makefile2graph

nix profile install nixpkgs#makefile2graph
  • normalized package name match
  • Matched by: Makefile2graph
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ma/makefile2graph/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

makefile2graph 2021.11.06-1

creates a graph of dependencies from GNU-Make

https://github.com/lindenb/makefile2graph

sudo apt install makefile2graph
  • Section: universe/misc
  • Architecture: amd64
  • 2 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Makefile2graph
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: makefile2graph from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment