foreach in Makefile swallows errorsforeach in this example separates commands by ; in the sequence. Use && separator and true as the last command or try set -e to stop on the first error.
Incorrect error handling:
all:
@$(foreach DOCUMENT, $(DOCUMENTS),\
false; \
)
Fail on first error:
all:
@$(foreach DOCUMENT, $(DOCUMENTS),\
false && \
) true
(source)