next up previous contents
Next: 3.2.1 Include Dependences Up: 3 The Vienna Make Previous: 3.1 Projects

3.2 Directories and Files

A project can be further divided into multiple directories which are called modules. The directory structure of the project VMake is shown in Fig.  3.2. Each module holds a description file to define dependences between files.

 figure1087
Abbildung 3.2:   Directory tree of project VMake

Again a project is divided into smaller modules which address a specific problem or area of a project. VMake uses high-level rules with a LISP like syntax. The output of rules is associated to a symbolicName. Source files and generated files within modules are represented by unique and typed objects in VMake. This feature enables extended parameter checking for rules, e.g., that a library is generated from object files. The project definition file and the description file for the small example shown in Chapter 1 are shown in Figure 3.3 and Figure 3.4.

  figure1101
Abbildung 3.3: Simple project definition file vmake.prj for VMake

  figure1108
Abbildung 3.4: Simple description file vmfile.mk for VMake

Since VMake is project oriented, a project must be defined for this example. The dependences defined by the rules are straight forward. The output of each update action is associated to a symbolicName. To allow multiple configurations to be built on one source tree, the configuration specific files, e.g., object, libraries, and programs are stored in configuration dependent directories to avoid conflicts.





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