Файл Makefile: Error1

у меня есть очень простая программа c:

int main()
{
  return(1);
}

и простой Makefile:

all:
    gcc -ansi -pedantic -o tmp tmp.c
    ./tmp

однако, когда я набираю make Я получаю следующее сообщение об ошибке:

$ make
gcc -ansi -pedantic -o tmp tmp.c
./tmp
make: *** [all] Error 1

какую очевидную вещь я упустил?

3 ответов


сделать выходы с ошибкой, если какая-либо команда выполняет выходы с ошибкой.

поскольку ваша программа выходит с кодом 1, make видит это как ошибку, а затем возвращает ту же самую ошибку.

вы можете сказать, чтобы игнорировать ошибки, поместив a-в начале строки следующим образом:

-./tmp

вы можете увидеть больше об обработке ошибок в makefiles здесь.


вы возвращаете код ошибки 1 из приложения. Это сделать работу, чтобы сообщить об этом как об ошибке!


Это потому, что ваша программа возвращает 1.

делает компиляцию с помощью gcc, которая идет нормально (возвращает 0) таким образом, он продолжается с выполнением, но ваша программа возвращает ненулевое значение, поэтому сделайте отчеты об этом как об ошибке.

программа по успешному завершению должна вернуться 0 и возвращает ненулевое значение в противном случае.