У меня есть Makefile, который начинается с запуска инструмента перед применением правил сборки (который этот инструмент пишет для меня). Если этот инструмент, который является python script, завершается с не нулевым кодом состояния, я хочу, чтобы GNU Make останавливался прямо там и не продолжал строить программу.
В настоящее время я делаю что-то вроде этого (верхний уровень, т.е. столбец 1):
$(info Generating build rules...)
$(shell python collect_sources.py)
include BuildRules.mk
Но это не останавливается, если collect_sources.py
завершает работу с кодом состояния 1. Это также фиксирует стандартный вывод collect_sources.py
, но не распечатывает его, поэтому у меня такое чувство, что я искал неправильные направление.
Если это вообще возможно, решение должно работать даже тогда, когда простая оболочка MS-DOS является стандартной системной оболочкой.
Любое предложение?