Permalink
Browse files

Do not require rebar to build Ranch

All is done in the Makefile, like with Cowboy.
  • Loading branch information...
1 parent 0a101a3 commit d20989e722c50afea4ed510f372bbbd9221b9048 @essen essen committed Jan 17, 2013
Showing with 34 additions and 29 deletions.
  1. +34 −19 Makefile
  2. +0 −6 rebar.config
  3. +0 −4 rebar.tests.config
  4. 0 { → test}/cover.spec
View
@@ -1,27 +1,40 @@
# See LICENSE for licensing information.
PROJECT = ranch
+ERLC_OPTS = -Werror +debug_info +warn_export_all # +bin_opt_info +warn_missing_spec
-DIALYZER = dialyzer
-REBAR = rebar
+DEPS_DIR ?= $(CURDIR)/deps
+export DEPS_DIR
-all: app
+.PHONY: all clean-all app clean docs clean-docs tests build-plt dialyze
# Application.
-deps:
- @$(REBAR) get-deps
+all: app
+
+clean-all: clean clean-docs
+ rm -f .$(PROJECT).plt
+ rm -rf $(DEPS_DIR) logs
-app: deps
- @$(REBAR) compile
+MODULES = $(shell ls src/*.erl | sed 's/src\///;s/\.erl/,/' | sed '$$s/.$$//')
+
+app:
+ @mkdir -p ebin/
+ @cat src/$(PROJECT).app.src \
+ | sed 's/{modules, \[\]}/{modules, \[$(MODULES)\]}/' \
+ > ebin/$(PROJECT).app
+ erlc -v $(ERLC_OPTS) -o ebin/ -pa ebin/ \
+ src/$(PROJECT)_transport.erl src/*.erl
clean:
- @$(REBAR) clean
+ rm -rf ebin/
rm -f test/*.beam
rm -f erl_crash.dump
+# Documentation.
+
docs: clean-docs
- @$(REBAR) doc skip_deps=true
+ erl -noshell -eval 'edoc:application($(PROJECT), ".", []), init:stop().'
clean-docs:
rm -f doc/*.css
@@ -31,20 +44,22 @@ clean-docs:
# Tests.
-tests: clean app eunit ct
-
-eunit:
- @$(REBAR) -C rebar.tests.config eunit skip_deps=true
+CT_RUN = ct_run \
+ -pa ebin $(DEPS_DIR)/*/ebin \
+ -dir test \
+ -logdir logs \
+ -cover test/cover.spec
-ct:
- @$(REBAR) -C rebar.tests.config ct skip_deps=true
+tests: clean app
+ @mkdir -p logs/
+ @$(CT_RUN) -suite acceptor_SUITE
# Dialyzer.
-build-plt:
- @$(DIALYZER) --build_plt --output_plt .$(PROJECT).plt \
- --apps kernel stdlib sasl tools inets crypto public_key ssl
+build-plt: app
+ @dialyzer --build_plt --output_plt .$(PROJECT).plt \
+ --apps erts kernel stdlib crypto public_key ssl
dialyze:
- @$(DIALYZER) --src src --plt .$(PROJECT).plt \
+ @dialyzer --src src --plt .$(PROJECT).plt \
-Werror_handling -Wrace_conditions -Wunmatched_returns # -Wunderspecs
View
@@ -1,6 +0,0 @@
-{erl_opts, [
-%% bin_opt_info,
-%% warn_missing_spec,
- warnings_as_errors,
- warn_export_all
-]}.
View
@@ -1,4 +0,0 @@
-{cover_enabled, true}.
-{deps, []}.
-{eunit_opts, [verbose, {report, {eunit_surefire, [{dir, "."}]}}]}.
-{erl_opts, []}.
File renamed without changes.

0 comments on commit d20989e

Please sign in to comment.