I have a very simple c programme:
int main()
{
return(1);
}
and a simple Makefile:
all:
gcc -ansi -pedantic -o tmp tm
You're returning an error code of 1 from your application. It's Make's job to report this as an error!
Make exits with an error if any command it executes exits with an error.
Since your program is exiting with a code of 1, make sees that as an error, and then returns the same error itself.
You can tell make to ignore errors by placing a - at the beginning of the line like this:
-./tmp
You can see more about error handling in makefiles here.
This is because your program is returning 1.
Makes does the compilation using gcc, which goes fine (returns 0
) so it proceeds with the execution, but your program return a non-zero value, so make reports this as an error.
A program on successful completion should return 0
and return a non-zero value otherwise.