build/docs/mozbuild/dumbmake.rst

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:79111a95581c
1 dumbmake
2 ========
3
4 *dumbmake* is a simple dependency tracker for make.
5
6 It turns lists of make targets into longer lists of make targets that
7 include dependencies. For example:
8
9 netwerk, package
10
11 might be turned into
12
13 netwerk, netwerk/build, toolkit/library, package
14
15 The dependency list is read from the plain text file
16 `topsrcdir/build/dumbmake-dependencies`. The format best described by
17 example:
18
19 build_this
20 when_this_changes
21
22 Interpret this to mean that `build_this` is a dependency of
23 `when_this_changes`. More formally, a line (CHILD) indented more than
24 the preceding line (PARENT) means that CHILD should trigger building
25 PARENT. That is, building CHILD will trigger building first CHILD and
26 then PARENT.
27
28 This structure is recursive:
29
30 build_this_when_either_change
31 build_this_only_when
32 this_changes
33
34 This means that `build_this_when_either_change` is a dependency of
35 `build_this_only_when` and `this_changes`, and `build_this_only_when`
36 is a dependency of `this_changes`. Building `this_changes` will build
37 first `this_changes`, then `build_this_only_when`, and finally
38 `build_this_when_either_change`.

mercurial