---
schema_version: "1"
id: f86c8f0133f9289ab639848be0f2e527674b2be14040c63d29e8e2df048907f4
title: Compiling Custom Policies
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/pdk/1.5/policies-pdk-compile-policies.md
canonical_url: https://docs.mulesoft.com/pdk/1.5/policies-pdk-compile-policies
source_site: docs.mulesoft.com
content_type: documentation
content_hash: d2436e7f8dc78325a8a57322525ba6d2063359173f9c19eee6a41f9f0b405461
description: MuleSoft Documentation Site
release: "1.5"
latest: false
---
---
product: Omni Gateway Policy Development Kit (PDK)
version: 1.5
---

# Compiling Custom Policies

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Compile your custom policy to create the policies binary target files by using the `make build`
command. You must compile your custom policy after every time you edit the policy’s source code
before you can deploy the policy to a Flex Gateway.

## Before You Begin

Ensure you have completed all the steps in [Creating a New Project](https://docs.mulesoft.com/pdk/1.5/policies-pdk-create-project).

## Compile Using Build Command

To compile the policy, run the `make build` command from the policy’s root folder:

```ssh
make build
```

The `make build` command preforms the following actions:

1.  Runs the `make build-asset-files` script

2.  Runs the `make build` command to compile the policy to a `WebAssembly` binary file

3.  Generates additional configuration files that are not generated by the `make build-asset-files`
    script and are required to execute the policy

The `make build` command outputs the generated files to the `target` directories.

You can execute the `make build` command as many times as necessary to generate compiled artifacts.
You must compile the custom policy for your source code and configuration edits to be present in the
compiled artifacts.

> [!NOTE] When compiling your policy the first time, Rust fetches the latest version dependencies.
> If a dependency requires a Rust version later than {rust-ver-max-var}, pin the latest compatible
> version of the dependency with this command:
>
> cargo update -p <conflicting\_crate> --precise <major.minor.patch>

## See Also

- [Debugging Custom Policies with the PDK Debugging Playground](https://docs.mulesoft.com/pdk/1.5/policies-pdk-debug-local)

- [Applying Custom Policies](https://docs.mulesoft.com/pdk/1.5/policies-pdk-apply-policies)

- [PDK Troubleshooting](https://docs.mulesoft.com/pdk/1.5/policies-pdk-troubleshooting)
