Amos Waterland [off-list ref] writes:
Do not let errors pass by unnoticed when running `make check'.
...
check:
- for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done
+ for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || break; done
Good point but "|| exit" would be more appropriate. With the
above patch, I suspect "make check" merely stops at the first
error but resulting return code would still be zero, wouldn't
it?
$ cat Makefile
check1:
for i in 1 2 3 4; do echo testing $$i; test $$i -le 2 || break; done
check2:
for i in 1 2 3 4; do echo testing $$i; test $$i -le 2 || exit; done
$ make check1
for i in 1 2 3 4; do echo testing $i; test $i -le 2 || break; done
testing 1
testing 2
testing 3
$ make check2
for i in 1 2 3 4; do echo testing $i; test $i -le 2 || exit; done
testing 1
testing 2
testing 3
make: *** [check2] Error 1
$ exit