Su Linux un Makefile semplice semplice è questo:

all: file1.o file2.o file3.o
gcc -o file file.o file2.o file3.o

.c.o:
gcc -g -c $<

In pratica significa che di tutti i files .c vengono creati i rispettivi .o, precompilazione, dopo il tags all compila in un solo programma i files .o

Più semplice di questo non so