Note: The distinctive features of clearmake, such as build auditing, derived object sharing, and build avoidance, are supported in dynamic views only. In addition, parallel building is supported in ClearCase snapshot views, but is not supported in ClearCase LT.
A build options specification (BOS) file is a text file that contains macro definitions and/or ClearCase special targets. We recommend that you place temporary macros (such as CFLAGS=–g (UNIX) or CFLAGS=/Zi (Windows) and others not to be included in a makefile permanently) in a BOS file, rather than specifying them on the clearmake command line.
By default, clearmake reads BOS files in this order:
If you specify –N, clearmake does not read default BOS files.
clearmake displays the names of the BOS files it reads if you specify the –v or –d option, or if CCASE_VERBOSITY is set to 1.
The following sections describe the various kinds of BOS file entries.
A standard macro definition has the same form as a make macro defined in a makefile:
For example:
A target-dependent macro definition takes this form:
Any standard macro definition can follow the := operator; the definition takes effect only when targets in target-list and their dependencies are processed. Targets in the target-list must be separated by white space. For example:
Two or more higher-level targets can have a common dependency. If the targets have different target-dependent macro definitions, the dependency is built using the macros for the first higher-level target that clearmake considered building (whether or not clearmake actually built it).
A shell command macro definition replaces a macro name with the output of a shell command:
This defines the value of macro_name to be the output of string, an arbitrary shell command. In command output, <NL> characters are replaced by <SPACE> characters. For example:
Note: This syntax does not work in makefiles when you are using default compatibility mode.
You can use the following ClearCase special targets in a build options spec:
.DEPENDENCY_IGNORED_FOR_REUSE
.INCREMENTAL_REPOSITORY_SIBLING
.INCREMENTAL_TARGET
.NO_CMP_NON_MF_DEPS
.NO_CMP_SCRIPT
.NO_CONFIG_REC
.NO_DO_FOR_SIBLING
.NO_WINK_IN
.SIBLING_IGNORED_FOR_REUSE
.SIBLINGS_AFFECT_REUSE
On UNIX only, you can also use
For descriptions of these targets, see the makefile_ccase reference page.
To include one BOS file in another, use the include or sinclude (silent include) directive. For example, on UNIX:
On Windows:
By default, the order of precedence of macros and environment variables is as follows:
For example, target-dependent macro definitions override all other macro definitions, and macros specified on the clearmake command line override those set in a BOS file .
If you use the –e option to clearmake, environment variables override macro definitions in the makefile.
All BOS file macros (except those overridden on the command line) are placed in the build script's environment. If a build script recursively invokes clearmake:
Copyright© 2003 Rational Software. All Rights Reserved.