diff --git a/Makefile b/Makefile index db7d519..5a896d1 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ REBAR=$(PWD)/rebar RETEST=$(PWD)/deps/retest/retest +OTPVSNCMD='io:fwrite("~s",[rebar_utils:otp_release()]), halt().' +OTPVSN = $(shell erl -pa ebin/ -noshell -eval $(OTPVSNCMD)) +PLT_FILENAME=~/.dialyzer_rebar_$(OTPVSN)_plt all: ./bootstrap @@ -13,6 +16,7 @@ clean: distclean: clean @rm -f dialyzer_warnings @rm -rf deps + @rm -f ~/.dialyzer_rebar_*_plt debug: @./bootstrap debug @@ -22,12 +26,35 @@ check: debug xref dialyzer deps test xref: @./rebar xref +build_plt: + -dialyzer --build_plt --output_plt $(PLT_FILENAME) --apps \ + erts \ + kernel \ + stdlib \ + crypto \ + compiler \ + asn1 \ + eunit \ + tools \ + ssl \ + edoc \ + reltool \ + snmp \ + sasl + -dialyzer --add_to_plt --output_plt $(PLT_FILENAME) --apps diameter + dialyzer: dialyzer_warnings @diff -U0 dialyzer_reference dialyzer_warnings dialyzer_warnings: - -@dialyzer -q -nn -n ebin -Wunmatched_returns -Werror_handling \ - -Wrace_conditions > dialyzer_warnings + -@dialyzer --plt $(PLT_FILENAME) -q -nn -n ebin \ + -Wunmatched_returns \ + -Werror_handling \ + -Wrace_conditions \ + > dialyzer_warnings + +typer: + typer -r --plt $(PLT_FILENAME) ./src -I ./include binary: VSN = $(shell ./rebar -V) binary: clean all