defmodule Mix.Tasks.Compile.Native do
@shortdoc "Compiles native code"
def run(_) do
0 = Mix.Shell.IO.cmd("make")
Mix.Project.build_structure
:ok
end
end
defmodule Baud.Mixfile do
use Mix.Project
def project do
[app: :baud,
version: "0.4.0",
elixir: "~> 1.3",
compilers: [:native, :elixir, :app],
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
aliases: aliases(),
description: description(),
package: package(),
deps: deps()]
end
def application do
[applications: [:modbus]]
end
defp deps do
[
{:modbus, "~> 0.2.0"},
{:ex_doc, "~> 0.12", only: :dev},
]
end
defp description do
"Serial port with Modbus support."
end
defp package do
[
name: :baud,
files: ["lib", "test", "scripts", "src", "Makefile", "mix.*", "*.exs", ".gitignore", "LICENSE"],
maintainers: ["Samuel Ventura"],
licenses: ["Apache 2.0"],
links: %{"GitHub" => "https://github.com/samuelventura/baud/"}]
end
defp aliases do
[
"sample1": ["run scripts/sample1.exs"],
"sample2": ["run scripts/sample2.exs"],
"modport": ["run scripts/modport.exs"],
]
end
end