aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/dialyzer.mk
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-11-29 18:24:41 +0100
committerLoïc Hoguin <[email protected]>2016-11-29 18:24:41 +0100
commit0b1932ec65386d08a862cdfc3e01c4b23a7220a2 (patch)
tree588656d9c42d21fdcd9552254336949d47036605 /plugins/dialyzer.mk
parente519628eec711ff295096358652f60f42828e6b4 (diff)
downloaderlang.mk-0b1932ec65386d08a862cdfc3e01c4b23a7220a2.tar.gz
erlang.mk-0b1932ec65386d08a862cdfc3e01c4b23a7220a2.tar.bz2
erlang.mk-0b1932ec65386d08a862cdfc3e01c4b23a7220a2.zip
Give ebin paths when creating the PLT
Before we had Dialyzer look for BEAM files in every subfolders of every deps. This resulted in the PLT bundling extra files and/or Dialyzer failing because some of them are not built with +debug_info, or because there are duplicates (in test logs for example). Now Dialyzer will only look in ebin/.
Diffstat (limited to 'plugins/dialyzer.mk')
-rw-r--r--plugins/dialyzer.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/dialyzer.mk b/plugins/dialyzer.mk
index 4454618..e7f502e 100644
--- a/plugins/dialyzer.mk
+++ b/plugins/dialyzer.mk
@@ -42,8 +42,10 @@ define filter_opts.erl
endef
$(DIALYZER_PLT): deps app
- $(verbose) dialyzer --build_plt --apps erts kernel stdlib $(PLT_APPS) $(OTP_DEPS) $(LOCAL_DEPS) \
- `test -f $(ERLANG_MK_TMP)/deps.log && cat $(ERLANG_MK_TMP)/deps.log`
+ $(eval DEPS_LOG := $(shell test -f $(ERLANG_MK_TMP)/deps.log && \
+ while read p; do test -d $$p/ebin && echo $$p/ebin; done <$(ERLANG_MK_TMP)/deps.log))
+ $(verbose) dialyzer --build_plt --apps erts kernel stdlib \
+ $(PLT_APPS) $(OTP_DEPS) $(LOCAL_DEPS) $(DEPS_LOG)
plt: $(DIALYZER_PLT)