---
title: 'Bazel BUILD Encyclopedia of Functions'
---

## Concepts and terminology

* [Common definitions](/versions/8.4.2/reference/be/common-definitions)
  + [Bourne shell tokenization](/versions/8.4.2/reference/be/common-definitions#sh-tokenization)
  + [Label expansion](/versions/8.4.2/reference/be/common-definitions#label-expansion)
  + [Typical attributes for most rules](/versions/8.4.2/reference/be/common-definitions#typical-attributes)
  + [Common attributes for all rules](/versions/8.4.2/reference/be/common-definitions#common-attributes)
  + [Common attributes for tests](/versions/8.4.2/reference/be/common-definitions#common-attributes-tests)
  + [Common attributes for binaries](/versions/8.4.2/reference/be/common-definitions#common-attributes-binaries)
  + [Configurable attributes](/versions/8.4.2/reference/be/common-definitions#configurable-attributes)
  + [Implicit output targets](/versions/8.4.2/reference/be/common-definitions#implicit-outputs)
* ["Make" variables](/versions/8.4.2/reference/be/make-variables)
  + [Use](/versions/8.4.2/reference/be/make-variables#use)

## Functions

* [package](/versions/8.4.2/reference/be/functions#package)
* [package\_group](/versions/8.4.2/reference/be/functions#package_group)
* [exports\_files](/versions/8.4.2/reference/be/functions#exports_files)
* [glob](/versions/8.4.2/reference/be/functions#glob)
* [select](/versions/8.4.2/reference/be/functions#select)
* [workspace](/versions/8.4.2/rules/lib/globals/workspace#workspace)

## Rules

Native rules ship with the Bazel binary and do not require a `load` statement.
Native rules are available globally in BUILD files. In .bzl files, you can find them in
the `native` module.
For non-native Starlark rules that ship separately from Bazel, see the list of
[recommended rules](/versions/8.4.2/rules/rules#recommended-rules).

### Language-specific native rules

| Language | Binary rules | Library rules | Test rules | Other rules |
| --- | --- | --- | --- | --- |
| C / C++ | [cc\_binary](/versions/8.4.2/reference/be/c-cpp#cc_binary) | [cc\_import](/versions/8.4.2/reference/be/c-cpp#cc_import)   [cc\_library](/versions/8.4.2/reference/be/c-cpp#cc_library)   [cc\_shared\_library](/versions/8.4.2/reference/be/c-cpp#cc_shared_library)   [cc\_static\_library](/versions/8.4.2/reference/be/c-cpp#cc_static_library) | [cc\_test](/versions/8.4.2/reference/be/c-cpp#cc_test) | [cc\_toolchain](/versions/8.4.2/reference/be/c-cpp#cc_toolchain)   [cc\_toolchain\_suite](/versions/8.4.2/reference/be/c-cpp#cc_toolchain_suite)   [fdo\_prefetch\_hints](/versions/8.4.2/reference/be/c-cpp#fdo_prefetch_hints)   [fdo\_profile](/versions/8.4.2/reference/be/c-cpp#fdo_profile)   [memprof\_profile](/versions/8.4.2/reference/be/c-cpp#memprof_profile)   [propeller\_optimize](/versions/8.4.2/reference/be/c-cpp#propeller_optimize) |
| Java | [java\_binary](/versions/8.4.2/reference/be/java#java_binary) | [java\_import](/versions/8.4.2/reference/be/java#java_import)   [java\_library](/versions/8.4.2/reference/be/java#java_library) | [java\_test](/versions/8.4.2/reference/be/java#java_test) | [java\_package\_configuration](/versions/8.4.2/reference/be/java#java_package_configuration)   [java\_plugin](/versions/8.4.2/reference/be/java#java_plugin)   [java\_runtime](/versions/8.4.2/reference/be/java#java_runtime)   [java\_toolchain](/versions/8.4.2/reference/be/java#java_toolchain) |
| Objective-C |  | [objc\_import](/versions/8.4.2/reference/be/objective-c#objc_import)   [objc\_library](/versions/8.4.2/reference/be/objective-c#objc_library) |  |  |
| Protocol Buffer |  | [cc\_proto\_library](/versions/8.4.2/reference/be/protocol-buffer#cc_proto_library)   [java\_lite\_proto\_library](/versions/8.4.2/reference/be/protocol-buffer#java_lite_proto_library)   [java\_proto\_library](/versions/8.4.2/reference/be/protocol-buffer#java_proto_library)   [proto\_library](/versions/8.4.2/reference/be/protocol-buffer#proto_library)   [py\_proto\_library](/versions/8.4.2/reference/be/protocol-buffer#py_proto_library) |  | [proto\_lang\_toolchain](/versions/8.4.2/reference/be/protocol-buffer#proto_lang_toolchain)   [proto\_toolchain](/versions/8.4.2/reference/be/protocol-buffer#proto_toolchain) |
| Python | [py\_binary](/versions/8.4.2/reference/be/python#py_binary) | [py\_library](/versions/8.4.2/reference/be/python#py_library) | [py\_test](/versions/8.4.2/reference/be/python#py_test) | [py\_runtime](/versions/8.4.2/reference/be/python#py_runtime) |
| Shell | [sh\_binary](/versions/8.4.2/reference/be/shell#sh_binary) | [sh\_library](/versions/8.4.2/reference/be/shell#sh_library) | [sh\_test](/versions/8.4.2/reference/be/shell#sh_test) |  |

### Language-agnostic native rules

| Family | Rules |
| --- | --- |
| Extra Actions | * [action\_listener](/versions/8.4.2/reference/be/extra-actions#action_listener)* [extra\_action](/versions/8.4.2/reference/be/extra-actions#extra_action) |
| General | * [alias](/versions/8.4.2/reference/be/general#alias)* [config\_setting](/versions/8.4.2/reference/be/general#config_setting)* [filegroup](/versions/8.4.2/reference/be/general#filegroup)* [genquery](/versions/8.4.2/reference/be/general#genquery)* [genrule](/versions/8.4.2/reference/be/general#genrule)* [starlark\_doc\_extract](/versions/8.4.2/reference/be/general#starlark_doc_extract)* [test\_suite](/versions/8.4.2/reference/be/general#test_suite) |
| Platforms and Toolchains | * [constraint\_setting](/versions/8.4.2/reference/be/platforms-and-toolchains#constraint_setting)* [constraint\_value](/versions/8.4.2/reference/be/platforms-and-toolchains#constraint_value)* [platform](/versions/8.4.2/reference/be/platforms-and-toolchains#platform)* [toolchain](/versions/8.4.2/reference/be/platforms-and-toolchains#toolchain)* [toolchain\_type](/versions/8.4.2/reference/be/platforms-and-toolchains#toolchain_type) |
| Workspace | * [bind](/versions/8.4.2/reference/be/workspace#bind)* [local\_repository](/versions/8.4.2/reference/be/workspace#local_repository)* [new\_local\_repository](/versions/8.4.2/reference/be/workspace#new_local_repository) |