# macro

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/MacroFunctionApi.java" %} {% dynamic setvar version "8.4.0" %} {% dynamic setvar original_path "/rules/lib/builtins/macro" %} {% include "_buttons.html" %} A callable Starlark value representing a symbolic macro; in other words, the return value of `macro()`. Invoking this value during package construction time will instantiate the macro, and cause the macro's implementation function to be evaluated (in a separate context, different from the context in which the macro value was invoked), in most cases causing targets to be added to the package's target set. For more information, see Macros.