|
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`. |