aboutsummaryrefslogtreecommitdiffstats
path: root/erlang.mk
diff options
context:
space:
mode:
authorDerek Brown <[email protected]>2014-08-05 11:04:00 -0400
committerDerek Brown <[email protected]>2014-08-15 09:44:42 -0400
commitb6f383a24884f9a8b9cef71f019b1184bc9494f2 (patch)
treed6c3641f5000a71ada0539a23e8ddeec2375dd71 /erlang.mk
parentbe51eb962063def3b5d793458aa813e10f43ae8c (diff)
downloaderlang.mk-b6f383a24884f9a8b9cef71f019b1184bc9494f2.tar.gz
erlang.mk-b6f383a24884f9a8b9cef71f019b1184bc9494f2.tar.bz2
erlang.mk-b6f383a24884f9a8b9cef71f019b1184bc9494f2.zip
Fail if no empty modules entry in .app.src
An empty list is required for the modules tuple, as in {modules, []} so a sed call could populate the list. This is mentioned in README, but can be overlooked. If the empty tuple is not present, relx will fail on missing dependency errors. Therefore, fail make if the empty tuple isn't found, to help the user diagnose the problem.
Diffstat (limited to 'erlang.mk')
-rw-r--r--erlang.mk4
1 files changed, 4 insertions, 0 deletions
diff --git a/erlang.mk b/erlang.mk
index 944bed9..aac075e 100644
--- a/erlang.mk
+++ b/erlang.mk
@@ -204,6 +204,10 @@ xyrl_verbose = $(xyrl_verbose_$(V))
app:: ebin/$(PROJECT).app
$(eval MODULES := $(shell find ebin -type f -name \*.beam \
| sed "s/ebin\//'/;s/\.beam/',/" | sed '$$s/.$$//'))
+ @if [ -z "$$(grep -E '^[^%]*{modules,[[:space:]]*\[\]}' src/$(PROJECT).app.src)" ]; then \
+ echo "Empty modules entry not found in $(PROJECT).app.src. Please consult the erlang.mk README for instructions." >&2; \
+ exit 1; \
+ fi
$(appsrc_verbose) cat src/$(PROJECT).app.src \
| sed "s/{modules,[[:space:]]*\[\]}/{modules, \[$(MODULES)\]}/" \
> ebin/$(PROJECT).app