Each Project Manager node has a defined set of variables containing values determined at runtime.
These variables can be used in Build rules or Environment variables. The variables available on a node are the concatenation of the variables defined for this node plus the ones defined for its ancestors.
Variable | Description | Group | Application | Library | File |
---|---|---|---|---|---|
$(ProjectDir) | The directory where the 4pw file is located or the operating system temporary directory if the project has never been saved | X | X | X | X |
$(CompilerOptions) | Compilation flags defined in the user interface | X | X | X | X |
$(TargetDir) | Target directory of the compiled files | X | X | X | X |
$(InputPath) | Absolute path of the input file | X | |||
$(InputName) | File name with extension | X | |||
$(InputBaseName) | File name without extension | X | |||
$(InputExtension) | File extension | X | |||
$(InputDir) | File directory | X | |||
$(InputMimeType) | MIME type of the file | X | |||
$(BAFilePath) | Absolute path of the 4ba file | X | X | X | X |
$(TemplateDir) | Application Generator template directory path | X | X | X | X |
$(InstallDir) | Genero Studio installation directory path | X | X | X | X |
$(BinaryName) | Name of the binary node | X | X | X | |
$(LinkerOptions) | Value of the node property LinkerOptions | X | X | X | |
$(Dependencies) | Full path to dependent libraries output. | X | X | ||
$(External Dependencies) | Value of the node property External
dependencies. Note: For Java™,
C, and other languages, this property will contain the full path for
external dependencies as FGLLDPATH is not used.
|
X | X | ||
$(BuildInputFilePaths) | Absolute file paths | X | X | ||
$(BuildInputFileNames) | File names | X | X | ||
$(BuildInputFileDirs) | File directories. List of all files which are input files for a build rule. For example, main.4gl form.4fd test.per toto.4gl | X | X | ||
$(BuildOutputFilePaths) | Absolute file paths | X | X | ||
$(BuildOutputFileNames) | File names | X | X | ||
$(BuildOutputBaseNames) | Base names. List of all files which are output files for a build rule. For example, main.42m form.42f test.42f toto.42m | X | X | ||
$(LinkOutputFilePaths) | Absolute file paths | X | X | ||
$(LinkOutputFileNames) | File names. List of all files which are output files for a link rule. For example, Application.42r | X | X | ||
$(XCFFilePath) | Path of the XCF file found for the application. | X | X |
For all variables that contain a list of files, for example $(BuildInputFiles), special syntax is used to expand the list.
$(variableName:.extension)
$(variableName|separator)
For example, $(BuildInputFiles|#) returns all the files in the $(BuildInputFiles) list separated by a #.