# Mix v1.10.3 mix deps.compile View Source

Compiles dependencies.

By default, compile all dependencies. A list of dependencies can be given to compile multiple dependencies in order.

This task attempts to detect if the project contains one of the following files and act accordingly:

- `mix.exs` - invokes `mix compile`
- `rebar.config` - invokes `rebar compile`
- `Makefile.win`- invokes `nmake /F Makefile.win` (only on Windows)
- `Makefile` - invokes `gmake` on FreeBSD and OpenBSD, invokes `make` on any other operating system (except on Windows)

The compilation can be customized by passing a `compile` option in the dependency:

    {:some_dependency, "0.1.0", compile: "command to compile"}

If a list of dependencies is given, Mix will attempt to compile them as is. For example, if project `a` depends on `b`, calling `mix deps.compile a` will compile `a` even if `b` is out of date. This is to allow parts of the dependency tree to be recompiled without propagating those changes upstream. To ensure `b` is included in the compilation step, pass `--include-children`.

If you want to exclude umbrella applications from building pass `--skip-umbrella-children`.