diff options
Diffstat (limited to 'build/docs/mozbuild/dumbmake.rst')
-rw-r--r-- | build/docs/mozbuild/dumbmake.rst | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/build/docs/mozbuild/dumbmake.rst b/build/docs/mozbuild/dumbmake.rst new file mode 100644 index 0000000000..7840695add --- /dev/null +++ b/build/docs/mozbuild/dumbmake.rst @@ -0,0 +1,38 @@ +dumbmake +======== + +*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: + + build_this + when_this_changes + +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: + + build_this_when_either_change + build_this_only_when + this_changes + +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`. |