dumbmake.rst 1.1 KB

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