dumbmake is a simple dependency tracker for make.

It turns lists of make targets into longer lists of make targets that include dependencies. For example:

netwerk, package

might be turned into

netwerk, netwerk/build, toolkit/library, package

The dependency list is read from the plain text file topsrcdir/build/dumbmake-dependencies. The format best described by example:


Interpret this to mean that build_this is a dependency of when_this_changes. More formally, a line (CHILD) indented more than the preceding line (PARENT) means that CHILD should trigger building PARENT. That is, building CHILD will trigger building first CHILD and then PARENT.

This structure is recursive:


This means that build_this_when_either_change is a dependency of build_this_only_when and this_changes, and build_this_only_when is a dependency of this_changes. Building this_changes will build first this_changes, then build_this_only_when, and finally build_this_when_either_change.