> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XML Interface - Macros

Last updated on Dec 22, 2025

Macros can be used in a number of locations within the XML file, and allow reference to external or internal data.

Usage: \$(MACRO\_NAME)

The following macros are supported:

1. *SourceFile* MacrosThese macros reference the source file path and name. They can be used in the *Params* attribute only (*Tool* or *Task* elements).
   1. *SourceFileName*  – Source file name with extension

   2. *SourceName*– Source file name without extension

   3. *SourcePath*– Source file full path and file name

   4. *SourceDir*– Source file directory

   5. *SourceExt*– Source file extension

2. *OutputFiles* MacrosThese macros reference the output file path and name. They can be used in the *Params* attribute only (*Tool* or *Task* elements). Note that when multiple output files are defined, this macro refers to the first-defined file in the list.
   1. *OutputFileName*– Output file name with extension

   2. *OutputName*– Output file name without extension

   3. *OutputPath*– Output file full path and file name

   4. *OutputDir*– Output file directory

   5. *OutputExt*– Output file extension

3. *Params* MacrosThere is one macro related to the *Params* attribute: *inherited:params*.This macro can be used in the *Params* attribute of the *Task* element only. It references the default parameters defined in the *Tool* element.

4. Environment Variable MacrosMacros can be used to access environment variables. Any defined variable can be accessed by using its name; e.g, \$(path) is translated into the 'path' environment variable.
