next up previous contents
Next: 3.1 Projects Up: Dissertation Walter Tuppa Previous: 2 Requirements for a

3 The Vienna Make Utility

It is well known, that large scale systems need a high level of abstraction to be successful[Sha89]. This conclusion is rarely applied for software engineering tools. Still make remains the main tool to manage software projects with all its drawbacks. Dependence definitions are handled locally and no global software project information is automatically made available. Newer approaches incompatible to make like Jam are able to use global dependences by identifying file names and have proven there value but still require platform dependent modifications. The Vienna Make Utility, VMake[Tup96a, Tup96b, Tup96c], was developed to overcome the problem with other tools. One major design goal was system independence, e.g., the tool has to run under UNIX and VMS with the same set of description files without any modifications. To avoid system specific filenames the concept of symbolicNames was introduced. A unique symbolicName may represent

  1. a project (see Section 4.1),
  2. a module or directory (see Section 4.2),
  3. an object or a list of objects, either sources files or generated by rules,
and has a global scope over project boundaries. The symbolicNames are defined by rules in system independent description file (see Chapter 4) and may be used in any parent project.





IUE WWW server
Fri Jan 3 17:00:13 MET 1997