make predefines a number of common commands as macros. For example, the macro ${CC} is usually defined to be the system C compiler, while ${LD} is defined to be the system linker. Therefore, if you have the following dependency line and command line:
myprog : main.c
${CC} -o myprog main.c
It is usually equivalent to the following:
myprog : main.c
cc -o myprog main.c
If your C compiler is not an ANSI C compiler, using macro ${CC} to compile an ANSI C program could generate a lot of error messages. To use gcc, you can redefine the CC macro as follows:
CC = gcc -ansi
myprog : main.c
${CC} -o myprog main.c
This will use gcc to compile the source program main.c
producing an executable myprog.