"H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes: > --- Makefile.org 2008-11-10 17:29:53.000000000 +0100 > +++ Makefile 2008-11-10 17:29:39.000000000 +0100 > @@ -1329,6 +1329,10 @@ check-sha1:: test-sha1$X > ./test-sha1.sh > > check: common-cmds.h > + @`sparse </dev/null 2>/dev/null` || (\ > + echo "The 'sparse' command is not available, so I cannot make the 'check' target" ;\ > + echo "Did you mean 'make test' instead?" ;\ > + exit 1 ) When you mean "grouping", using {} is much clearer to convey your intention. Use of needless (subshell) forces the reader to wonder if you wanted to do something that affects the environment for later commands inside, and in this case you didn't. Why do you have sparse check inside a backtick to produce a string to be interpreted as a command to be executed? How about doing this instead? 'sparse' without any parameter exits with success status silently; when you do not have the command, the shell will complain with "sparse: command not found" anyway, so you only need to suggest "make 'test'" and nothing else. -- >8 -- Subject: Makefile: help people who run 'make check' by mistake The target to run self test is 'make test', but there are people who try 'make check' and worse yet do not have sparse installed. Suggest 'make test' target when they do not have 'sparse'. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- Makefile | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git c/Makefile w/Makefile index 40309e1..d3137ca 100644 --- c/Makefile +++ w/Makefile @@ -1355,7 +1355,16 @@ check-sha1:: test-sha1$X ./test-sha1.sh check: common-cmds.h - for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; done + if sparse; \ + then \ + for i in *.c; \ + do \ + sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; \ + done; \ + else \ + echo 2>&1 "Did you mean 'make test'?"; \ + exit 1; \ + fi remove-dashes: ./fixup-builtins $(BUILT_INS) $(PROGRAMS) $(SCRIPTS) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html