Это не проблема, на самом деле. Make просто ждет, пока оболочка не вызовет fini sh, а затем проверяет код выхода. Если это 0
(успех), то make предполагает, что задание выполнено успешно. Если это любое другое значение, make считает, что задание не выполнено.
Если вы запустите эту команду в оболочке, вы увидите, что код завершения не сохраняется:
$ echo `bah`
...errors...
$ echo $?
0
Там нет ничего make может сделать с этим Вам нужно будет найти способ убедиться, что ваша команда завершается с ошибкой. Вы не предоставили нам достаточно информации о том, какую именно команду вы хотите выполнить, чтобы помочь вам решить эту проблему.
ETA
Существует множество возможностей. Но поскольку вы по-прежнему не предоставили никаких реальных подробностей, я просто предлагаю одну возможность: вы можете проверить полученное значение, чтобы увидеть, было ли оно пустым:
test:
var=`blah`; [ -n "$$var" ] || exit 1; ...do stuff with $$var...