2010-07-30 4 views
0

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

+0

Вы имеете в виду, если команда make не работает или если одна из команд внутри одной из целей не удалась? –

ответ

2

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

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

$(CC) $(CFLAGS) -o [email protected] -c $< || { \ 
    recovery_command_1 && \ 
    recovery_command_2; \ 
    false; \ 
} 
+0

Аккуратно! Именно то, что я искал. – Paul

Смежные вопросы