diff options
author | Henrik Nord <[email protected]> | 2015-11-16 13:23:06 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2015-11-16 13:23:06 +0100 |
commit | dc61e819e190ae65b69fbb013511b25023f713ff (patch) | |
tree | 25485d0ca995e1b91a8716dd0e6e89fe27948dab | |
parent | 01ecb1cd777b82259bb29824ac73906831c017fe (diff) | |
parent | fb1c22169c96b51f331c0e7885cdbd0806585da2 (diff) | |
download | otp-dc61e819e190ae65b69fbb013511b25023f713ff.tar.gz otp-dc61e819e190ae65b69fbb013511b25023f713ff.tar.bz2 otp-dc61e819e190ae65b69fbb013511b25023f713ff.zip |
Merge branch 'legoscia/erl-make-exit-code' into maint
* legoscia/erl-make-exit-code:
Make erl -make return non-zero exit code on failure
OTP-13107
-rw-r--r-- | erts/etc/common/erlexec.c | 2 | ||||
-rw-r--r-- | lib/tools/src/make.erl | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c index cde0b25a2a..1e7c56dd8e 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c @@ -718,7 +718,7 @@ int main(int argc, char **argv) * on itself here. We'll avoid doing that. */ if (strcmp(argv[i], "-make") == 0) { - add_args("-noshell", "-noinput", "-s", "make", "all", NULL); + add_args("-noshell", "-noinput", "-s", "make", "all_or_nothing", NULL); add_Eargs("-B"); haltAfterwards = 1; i = argc; /* Skip rest of command line */ diff --git a/lib/tools/src/make.erl b/lib/tools/src/make.erl index 96c3e0e506..5d5a1ef2bd 100644 --- a/lib/tools/src/make.erl +++ b/lib/tools/src/make.erl @@ -25,12 +25,20 @@ %% If Emakefile is missing the current directory is used. -module(make). --export([all/0,all/1,files/1,files/2]). +-export([all_or_nothing/0,all/0,all/1,files/1,files/2]). -include_lib("kernel/include/file.hrl"). -define(MakeOpts,[noexec,load,netload,noload]). +all_or_nothing() -> + case all() of + up_to_date -> + up_to_date; + error -> + halt(1) + end. + all() -> all([]). |