Предотвращение остановки выполнения команды make из-за ошибки

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

Для того чтобы предотвратить завершение программы make при возникновении ошибки, выполните одно из следующих действий:

  • Введите команду make с флагом -i.
  • Задайте в строке взаимосвязей файла описания имя фиктивного целевого файла .IGNORE. Поскольку целевой файл .IGNORE реально не существует, он называется фиктивным. Если вместе с .IGNORE указаны предварительные условия, то связанные с ними ошибки команда make будет игнорировать.
  • Укажите знак - (минус) в первой позиции всех строк файла описания, ошибки в которых должны игнорироваться.

Пример файла описания

Допустим, после компиляции и компоновки трех файлов на языке C (x.c, y.c и z.c) создается программа с именем prog. Общие объявления для файлов x.c и y.c заданы в файле с именем defs. В файле z.c эти объявления не используются. Ниже приведен пример файла описания, который создает программу prog:

# Создание программы prog из трех объектных файлов
prog:  x.o y.o z.o
# Создание prog с помощью cc
    cc  x.o y.o z.o -o prog
# Создать x.o из двух других файлов
x.o:   x.c defs
# Создание x.o с помощью cc
    cc -c x.c
# Создание y.o из двух других файлов
y.o: y.c defs
# Создание y.o с помощью cc
    cc  -c y.c
# Создание z.o из z.c
z.o:   z.c
# Создание z.o с помощью cc
    cc  -c z.c

Если этот файл называется makefile, введите команду make для обновления программы prog после внесения изменений в один из исходных файлов: x.c, y.c, z.c или defs.