I am not able to understand how does my source code or makefile identifies the target I am trying to compile the code for. Neither there is any command for this in makefile and nor it is specified anywhere in my source code. I havent found any such environment variable also regarding the same.
When I run make for the attached Makefile following error comes:
cc: /usr/lib/gcc-lib/ntox86/2.95.3/cc1 error 33
I think the error you are seeing are “normal” compiler error, check your source code Reading your original question, as I said the reason why make calls cc event though you didn’t specify it is because you have implicitly used the default rules. When you specify audio.o: … Make knows by default .o are build from c file thus required cc. If you were to specify a command such as
audio.o: audio.c
echo foo
Then audio.o would NOT be build because make would invoke the echo command instead of the buildin definition.