New build system for rexi
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..e658627
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,48 @@
+## Licensed under the Apache License, Version 2.0 (the "License"); you may not
+## use this file except in compliance with the License.  You may obtain a copy
+## of the License at
+##
+##   http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+## WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+## License for the specific language governing permissions and limitations under
+## the License.
+
+rexiebindir = $(localerlanglibdir)/rexi/ebin
+
+rexiebin_DATA = $(compiled_files)
+
+source_files = \
+	src/rexi.app.src \
+    src/rexi.erl \
+	src/rexi_app.erl \
+	src/rexi_gov_manager.erl \
+	src/rexi_governor.erl \
+	src/rexi_monitor.erl \
+	src/rexi_server.erl \
+	src/rexi_sup.erl \
+	src/rexi_utils.erl
+
+compiled_files = \
+	ebin/rexi.app \
+    ebin/rexi.beam \
+	ebin/rexi_app.beam \
+	ebin/rexi_gov_manager.beam \
+	ebin/rexi_governor.beam \
+	ebin/rexi_monitor.beam \
+	ebin/rexi_server.beam \
+	ebin/rexi_sup.beam \
+	ebin/rexi_utils.beam
+
+EXTRA_DIST = $(source_files)
+CLEANFILES = $(compiled_files)
+
+ebin/%.app: src/%.app.src
+	@mkdir -p ebin/
+	sed -e "s|%version%|@version@|g" < $< > $@
+
+ebin/%.beam: src/%.erl
+	@mkdir -p ebin/
+	$(ERLC) -Wall -I$(top_srcdir)/src -o ebin/ $(ERLC_FLAGS) $<
diff --git a/src/rexi.app.src b/src/rexi.app.src
index 01fa503..5eb5639 100644
--- a/src/rexi.app.src
+++ b/src/rexi.app.src
@@ -1,7 +1,24 @@
 {application, rexi, [
     {description, "Lightweight RPC server"},
-    {vsn, git},
-    {registered, [rexi_sup, rexi_server]},
-    {applications, [kernel, stdlib, config]},
+    {vsn, "%version%"},
+    {modules, [
+        rexi,
+        rexi_app,
+        rexi_gov_manager,
+        rexi_governor,
+        rexi_monitor,
+        rexi_server,
+        rexi_sup,
+        rexi_utils
+    ]},
+    {registered, [
+        rexi_sup,
+        rexi_server
+    ]},
+    {applications, [
+        kernel,
+        stdlib,
+        config
+    ]},
     {mod, {rexi_app,[]}}
 ]}.
diff --git a/src/rexi.erl b/src/rexi.erl
index 3b5c804..f795593 100644
--- a/src/rexi.erl
+++ b/src/rexi.erl
@@ -20,7 +20,7 @@
 -export([get_errors/0, get_last_error/0, set_error_limit/1]).
 -export([stream/1, stream/2, stream/3, stream_ack/1, stream_ack/2]).
 
--include("rexi.hrl").
+-include_lib("rexi/include/rexi.hrl").
 
 -define(SERVER, rexi_server).
 
diff --git a/src/rexi_server.erl b/src/rexi_server.erl
index dd19248..90e49ea 100644
--- a/src/rexi_server.erl
+++ b/src/rexi_server.erl
@@ -19,7 +19,7 @@
 
 -export([start_link/0, init_p/2, init_p/3]).
 
--include("rexi.hrl").
+-include_lib("rexi/include/rexi.hrl").
 -include_lib("eunit/include/eunit.hrl").
 
 -record(job, {