<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/8.1.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.macro">macro</h1>

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/MacroFunctionApi.java" %}
{% dynamic setvar version "8.1.0" %}
{% dynamic setvar original_path "/rules/lib/builtins/macro" %}
{% include "_buttons.html" %}
<!-- {% raw %} -->

A callable Starlark value representing a symbolic macro; in other words, the return value of
<a href="../globals/bzl.html#macro"><code>macro()</code></a>. 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
<a href="https://bazel.build/versions/8.1.0/extending/macros">Macros</a>.




</body>
</html>

<!-- {% endraw %} -->
