OpenMake Meister

Variable Definitions

 

For the most part, you will write Build Methods for compilers and development tools.  These tools work according to specific information that is passed to them, such as file names or options.  When writing Build Methods, this specific information is represented by Variables. The use of these Variables allows a Build Method to remain generic so that any similar program can use that same Build Method.  Variables as listed in Table V-1 have been pre-defined to replace what would normally need to be hard coded  to represent the Target specific information.  

Table V-1  Build Method Variables

Variable

Description

$AllDeps

Gets Resolved to a file list of all the dependencies throughout the whole dependency tree.  This variable is an Openmake::FileList object.

$BillOfMaterialFile

Gets resolved to the file that contains the Build Audit information.  This variable is an Openmake::File object.

$BillOfMaterialRpt

Get resolved to the name of the Build Audit Report specified on the om command line.

$BuildType

Gets resolved to the Build Service of the current Target.

$CurrentStep

Gets resolved to the current number of the "Final" Targets being built. Intermediate work products, such as objs, are not considered a "step".

$DebugFlags 

Gets resolved to a Perl Hash reference of debug options. The keys of the hash are the full path to each dependency. The values of the hash are the debug flags for that particular dependency.

$FinalTarget

Gets resolved to the Final Target Name as listed in the generated Build Control file. This variable is an Openmake::File object.

$FootPrintFile

Gets resolved to the file that contains the Foot Printing information.  This variable is an Openmake::File object.

$HeaderBreak

Gets resolved to TRUE or FALSE. Whenever a new Step is executed in the build, the Flag will be set to TRUE, otherwise it is set to FALSE.  This variable is used to determine if a new HTML header needs to be written in the Build Log File.

$Include

Gets resolved to the Expanded Project plus Expanded Dependency Directories listed at the top of the generated Build Control file with -I (upper case i) at the beginning of each entry. This variable is an Openmake::SearchPath object.

$IncludeNL

Gets resolved to the Expanded Project plus Expanded Dependency Directories listed at the top of the generated Build Control file with -I (upper case i) at the beginning and new line at the end of each entry. This variable is an Openmake::SearchPath object.

$IntDir

Gets resolved to the intermediate directory location determined by the Target intermediate directory.  This information is added to the Target using the Target Editor.  This variable is an Openmake::Path object.

$JobDateTime

Gets resolved to the value Workflow Date Time.   This value is set by -ld parameter specified on the command line.

$JobMachineName

Gets resolved to the Worklfow Machine.   This value is set by -lm parameter specified on the command line.

$JobName

Gets resolved to the Workflow name passed. This is used when executing Workflows from within the Workflow Explorer. The environment variable is set by the Workflow.  If the environment variable is not set, the Workflow name is derived from the Project and Dependency Directory. This value is set by -lj parameter specified on the command line.

$KeepScript

Gets set to Yes or No depending on whether or not the -ks flag was passed to om. The Yes or No value determines whether or not the target specific batch file is kept.

$LibPath

Gets resolved to the Expanded Project  plus Expanded Dependency Directory listed at the top of the generated Build Control file with –L at the beginning of each entry. This variable is an Openmake::SearchPath object.

$LibPathNL

Gets resolved to the Expanded Project plus Expanded Dependency Directory listed at the top of the generated Build Control file with –L at the beginning and new line at the end of each entry. This variable is an Openmake::SearchPath object.

$DeleteLog

Gets resolved to YES at the beginning of the first execution of a script.  After the first script in a build is executed, the value is set to NO.

$LogOwner

Gets resolved to the Owner of the Workflow.   This value is set by –lo parameter specified on the command line.

$MachineName

Gets resolved to the Computer Name where the build is being executed. Used in Foot Printing and Build Audit Reporting.

$MaxThreads

Reserved for future use. Resolves to 1.

$NewerDeps

Gets resolved to a file list of the dependencies newer than the target. This variable is an Openmake::FileList object.

$OutputType

Gets resolved to the screen, HTML or both.

$Project

Gets resolved to the Project name from the Build Control file.

$ProjectDirs

Gets resolved to a string of Directories derived from the Dependencies and Target information.

$ProjectVPath

Gets resolved to the Expanded Project and Dependency Directories listed at the top of the generated Build Control file. This variable is an Openmake::SearchPath object.

$PublicBuildJob

Gets resolved to the true or false based upon the -op parameter specified on the command line.

$Quiet

Gets resolved to Yes or No depending on if the -ov flag has been passed to om.  The -ov flag writes additional data to standard output. Gets resolved to Yes if the flag is passed.

$RelDeps 

Gets resolved to a list of files for all the relative paths throughout the whole dependency tree.  This variable is an Openmake::FileList object.

$ReleaseFlags

Gets resolved to a Perl Hash reference of release options. The keys of the hash are the full path to each dependency. The values of the hash are the release flags for that particular dependency.

$RemoteMachine

Reserved for future use. Resolves to "NONE".

$Script

Gets resolved to the Script Name associated to the build type for the current Target.  This variable is an Openmake::File object.

$ScriptFooter

Gets resolved to a string that signifies the Finished Script message.

$ScriptHeader

Gets resolved to a string that signifies the Start Script message.

$SearchPathName

Gets resolved to the Dependency Directory from the Build Control file.

$Target

Gets resolved to the Target Name. This variable is an Openmake::File object.

$TargetAsDep

Gets resolved to the fully qualified path of the Target if it exists in the Project Dependency Directories.  The value will be "" if the Target does not exist in the Search Path.  This variable is an Openmake::File object.

$TargetDeps

Gets resolved to a list of the Target's immediate dependencies. This variable is an Openmake::FileList object.

$TargetRelDeps

Gets resolved to a list of files for all the relative paths for the specific Target being built.  This variable is an Openmake::FileList object.

$TempFile

Gets resolved to the name of the temporary Target specific batch file. This variable is an Openmake::File object.

$TotalSteps 

Gets resolved to the total number of Targets that are determined by counting the Targets listed in the "ALL" label of the generated Build Control file.

$UserId

Gets resolved to the User ID of the person executing the build. Used in Foot Printing and Build Audit Reporting.

$VPath

Gets resolved to the Expanded Project Dependency Directories listed at the top of the generated Build Control file. This variable is an Openmake::SearchPath object.