Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | dumbmake |
michael@0 | 2 | ======== |
michael@0 | 3 | |
michael@0 | 4 | *dumbmake* is a simple dependency tracker for make. |
michael@0 | 5 | |
michael@0 | 6 | It turns lists of make targets into longer lists of make targets that |
michael@0 | 7 | include dependencies. For example: |
michael@0 | 8 | |
michael@0 | 9 | netwerk, package |
michael@0 | 10 | |
michael@0 | 11 | might be turned into |
michael@0 | 12 | |
michael@0 | 13 | netwerk, netwerk/build, toolkit/library, package |
michael@0 | 14 | |
michael@0 | 15 | The dependency list is read from the plain text file |
michael@0 | 16 | `topsrcdir/build/dumbmake-dependencies`. The format best described by |
michael@0 | 17 | example: |
michael@0 | 18 | |
michael@0 | 19 | build_this |
michael@0 | 20 | when_this_changes |
michael@0 | 21 | |
michael@0 | 22 | Interpret this to mean that `build_this` is a dependency of |
michael@0 | 23 | `when_this_changes`. More formally, a line (CHILD) indented more than |
michael@0 | 24 | the preceding line (PARENT) means that CHILD should trigger building |
michael@0 | 25 | PARENT. That is, building CHILD will trigger building first CHILD and |
michael@0 | 26 | then PARENT. |
michael@0 | 27 | |
michael@0 | 28 | This structure is recursive: |
michael@0 | 29 | |
michael@0 | 30 | build_this_when_either_change |
michael@0 | 31 | build_this_only_when |
michael@0 | 32 | this_changes |
michael@0 | 33 | |
michael@0 | 34 | This means that `build_this_when_either_change` is a dependency of |
michael@0 | 35 | `build_this_only_when` and `this_changes`, and `build_this_only_when` |
michael@0 | 36 | is a dependency of `this_changes`. Building `this_changes` will build |
michael@0 | 37 | first `this_changes`, then `build_this_only_when`, and finally |
michael@0 | 38 | `build_this_when_either_change`. |