5.2 VMAKE



next up previous contents
Next: 5.3 CVS Up: 5 Software Engineering Aspects Previous: 5.1 Software Project Management

5.2 VMAKE

     

The conventional MAKE utility ([Feld79]) available on most UNIX systems was not a viable solution to the build process of the VISTA project for several reasons:

To overcome these deficiencies, the MIT'sgif X-Windows project uses a tool named IMAKE (Include MAKE) (see [Brun93]) as a front end for MAKE, thus providing a limited degree of platform independence by creating the platform-dependent Makefile out of a platform-independent Imakefile. But even this approach is too restricted, since in the end again MAKE is used and other advanced features besides platform-independence are not addressed.

Therefore VMAKE (Vienna MAKE) (see [IuE94]gif) was created, tailored especially for the management of large software projects like VISTA. By using XLISP [Betz89] as a basis for the genuine LISP make code, an unprecedented flexibility and control power is achieved with the additional advantage of total conceptual integrity within the framework, since the framework task level interpreter is also based on XLISP.

In contrast to other approaches, VMAKE uses a local module description file (vmfile.mk) in each directory of a project tree, and saves the current status of the project in a special save file. VMAKE supports the concurrent build process of multiple configurations on multiple platforms from just one source tree and selective subtree compilation with linking of installed libraries, thus using disk space very economically. All additional CASE tools are directly driven by VMAKE, like CVS, TAC, UNFUG, and VOOPS, which will be described in the next sections.



next up previous contents
Next: 5.3 CVS Up: 5 Software Engineering Aspects Previous: 5.1 Software Project Management



Martin Stiftinger
Tue Nov 29 19:41:50 MET 1994