next up previous contents
Next: 4.2 Module Definition Up: 4.1 Project Definition Previous: 4.1.1 Project Configuration

4.1.2 External Files

A set of rules can be used to adopt information about external files and search paths. They all start with string External in their names. Hence, external files which are not controlled by VMake can be used for building projects. Additional information about external sources is included into the dependence database and managed consistently.

External-IncludeSearchPath This rule defines an external search path for include files. The path is used to search for include files included by double quotes for C and C++ sources. For FORTRAN the file must be included either by single quotes or by using the Cpp preprocessor. The generated information is maintained with the dependence database.
vmrule1317

External-LibrarySearchPath This rule defines a search path for external libraries specified by the External-Library. The search path can be in a conditional form (see Section 4.3) to distinguish between different configurations and operating systems.
vmrule1325

External-Library External libraries defined by this rule will be searched and must exist in one of the directories given by External-LibrarySearchPath, if they are not labeled as system libraries by the key system.
vmrule1333
The libname is used to create the system dependent name of the library. In case of UNIX and VMS this name is formed by a prefix ``lib'' and a system dependent extension depending whether it is an archive or a shared library specified by the boolean key shared. An external shared library can be used as dependent library of a shared project library generated by Library-Target (see Library-Target) with the key shared.

For UNIX a system library marked with the key system has to be located within the default library search path of the system, for VMS it has to be located within the directory defined by the logical SYS$LIBRARY.

The key language is important for program generation. Normally VMake knows the programming language as it knows the source of each object and library from the compilation rules. This allows to select the correct commands for creating programs. For external pre-compiled library files no information is implicitly available. The default programming language is C. If the library includes objects from other programming languages this key is required for correct operation of VMake.

External-Object This rule allows to use an external object file in a project.
vmrule1362
The key object gives the system dependent file name, including path information, of the external object file.

The key language is important for generation similar to External-Library (see External-Library).

External-Program This rule allows the execution of external programs by VMake.
vmrule1377
The key program gives the system dependent name of the executable. If the path information is omitted, the default search path is used, e.g., the environment variable PATH for UNIX or the logical DCL$PATH for VMS.

External-File This rule allows VMake to process external data files.
vmrule1392
The key file gives the system dependent filename including path information which is bound to the symbolicName.

Project-RuleFile This rule allows to define additional rules which can be used in the current project and all projects which depend on it. Two examples for the definition of new rules are found within the VISTA TCAD project [Sel91, Hal93, Hal95a] which are the grid support Voops-Target[Fas94a] and the adaption of BISON[Don96] and FLEX[Pax96] by defining Bison-Target and Flex-Target (see Appendix D).
vmrule1414
The key file defines the filename without extension for the rule definition file. The extension is predefined by ``vrf''. This file contains the new object type and the definition of the new rules. Related information can be found in Section 4.4 and Section 8.3. Some examples are shown in Appendix D.


next up previous contents
Next: 4.2 Module Definition Up: 4.1 Project Definition Previous: 4.1.1 Project Configuration

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