Skip to content

elixir-lang/elixir_make

Repository files navigation

A Make compiler for Mix

Build Status Hex version

This project provides a Mix compiler that makes it straight-forward to use makefiles in your Mix projects.

Documentation

API documentation is available at https://hexdocs.pm/elixir_make

Usage

The package can be installed by adding elixir_make to your list of dependencies in mix.exs:

def deps do
  [{:elixir_make, "~> 0.4", runtime: false}]
end

Still in your mix.exs file, you will need to add :elixir_make to your list of compilers in project/0:

compilers: [:elixir_make] ++ Mix.compilers,

And that's it. The command above will invoke make for Unix, nmake for Windows and gmake for FreeBSD and OpenBSD. A "Makefile" file is expected at your project root for Unix systems and "Makefile.win" for Windows systems. Run mix help compile.elixir_make for more information and options.

Publishing a package to Hex.pm

When publishing a package to Hex.pm using elixir_make requires you to add any file (such as the Makefile and any source files) to the files option. See the hex docs

  defp package do
    [
      # ...
      files: [
        "lib", "LICENSE", "mix.exs", "README.md", # These are the default files
        "src/*.[ch]", "Makefile"], # You will need to add something like this.
      # ...
    ]
  end

License

Same as Elixir.