Filename macros are predefined as filenames specified in the dependency (not full filename specifications on disk). These macros do not need to be enclosed in parentheses when invoked; specify only a $ as shown.
|$@||Current target's full name (path, base name, extension), as currently specified.|
|$$@||Current target's full name (path, base name, extension), as currently specified. Valid only as a dependent in a dependency.|
|$*||Current target's path and base name minus file extension.|
|$**||All dependents of the current target.|
|$?||All dependents with a later timestamp than the current target.|
|$<||Dependent file with a later timestamp than the current target. Valid only in commands in inference rules.|
To specify part of a predefined filename macro, append a macro modifier and enclose the modified macro in parentheses.
|Modifier||Resulting filename part|
|D||Drive plus directory|
|F||Base name plus extension|
|R||Drive plus directory plus base name|