The basics:
%> gcc myfile.c
--produces an executable file called a.out in the current directory
To run:
%>./a.out


%> gcc -o myExec myFile.c
--compiles myFile.c into an executable called myExec
To run:
%> ./myExec

Multiple Files

To "just" compile a c file into an object file:
%> gcc -c myfile.c

This will produce myfile.o which can be linked in with other .o files to make your program.

To "link" object files together to make an executable called myExec:
%> gcc myfile.o somefile.o anotherfile.o -o myExec

A SHORTHAND way to go through these steps is to do this:

%> gcc -c *.c
%> gcc *.o -o myExec




Makefiles