Выполнить команды, если компиляция не удалась с помощью Make - PullRequest
0 голосов
/ 31 июля 2010

С GNU Make и одним из компиляторов в gcc: возможно ли выполнить команды, если (и только если) сбой компиляции?

1 Ответ

2 голосов
/ 31 июля 2010

Если вы ставите команду перед -, make продолжает работать, даже если команда возвращает ненулевой код ошибки.Но нет способа получить доступ к коду ошибки из первой команды во второй команде.

Вы можете написать произвольно сложные сценарии оболочки в одной команде make.Например, здесь показано, как вызвать две команды восстановления в случае сбоя компилятора C, запустить вторую только в случае сбоя первой и затем остановить процесс сборки в случае сбоя компилятора C.

$(CC) $(CFLAGS) -o $@ -c $< || { \
  recovery_command_1 && \
  recovery_command_2; \
  false; \
}
...