summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile24
1 files changed, 11 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 4032d6b260..1174f1a903 100644
--- a/Makefile
+++ b/Makefile
@@ -2,10 +2,6 @@ ifndef TMPDIR
TMPDIR := /tmp
endif
-ifndef ERL_HOME
-ERL_HOME := /usr/local/lib/erlang
-endif
-
RABBITMQ_NODENAME=rabbit
RABBITMQ_SERVER_START_ARGS=
RABBITMQ_MNESIA_DIR=$(TMPDIR)/rabbitmq-$(RABBITMQ_NODENAME)-mnesia
@@ -69,7 +65,7 @@ $(EBIN_DIR)/rabbit.boot $(EBIN_DIR)/rabbit.script: $(EBIN_DIR)/rabbit.app $(EBIN
dialyze: $(BASIC_PLT) $(PLT) .last_valid_dialysis
-create_plt: $(BASIC_PLT) $(PLT)
+create-plt: $(BASIC_PLT) $(PLT)
$(PLT): $(BEAM_TARGETS)
if [ -f $@ -a $(BASIC_PLT) -ot $@ ]; then \
@@ -98,14 +94,16 @@ $(PLT): $(BEAM_TARGETS)
false; \
fi
-$(BASIC_PLT): $(ERL_HOME)
- OTP_APPS='$(shell bash -c "ls -d $(ERL_HOME)/lib/{stdlib,kernel,mnesia,os_mon,ssl,eunit,tools,sasl}-*/ebin")'; \
- if [ ! "$$OTP_APPS" ]; then \
- echo "Did not find required OTP applications. Check ERL_HOME variable." && \
- false; \
- else \
- dialyzer --plt $@ --build_plt -r $$OTP_APPS || true; \
- fi
+$(BASIC_PLT):
+ erl -noinput -eval \
+ "OptsRecord = dialyzer_options:build([ \
+ {analysis_type, plt_build}, \
+ {init_plt, \"$(BASIC_PLT)\"}, \
+ {files_rec, lists:map( \
+ fun(App) -> code:lib_dir(App) ++ \"/ebin\" end, \
+ [stdlib, kernel, mnesia, os_mon, ssl, eunit, tools, sasl])}]), \
+ dialyzer_cl:start(OptsRecord), \
+ halt()."
clean:
rm -f $(EBIN_DIR)/*.beam