Here is a fundamental makefile sample you could use.
Clean is suggested to remove the compiled executables 
 # ------------------------------------------------
 # Generic Makefile
 #
 # Author: yanick.rochon@gmail.com
 # Date  : 2010-11-05
 #
 # Changelog :
 #   0.01 - first version
 # ------------------------------------------------
 # project name (generate executable with this name)
 TARGET   = projectname
 CC       = gcc -std=c99 -c
 # compiling flags here
 CFLAGS   = -Wall -I.
 LINKER   = gcc -o
 # linking flags here
 LFLAGS   = -Wall
 SOURCES  := $(wildcard *.c)
 INCLUDES := $(wildcard *.h)
 OBJECTS  := $(SOURCES:.c=*.o)
 rm       = rm -f
 $(TARGET): obj
 @$(LINKER) $(TARGET) $(LFLAGS) $(OBJECTS)
 @echo "Linking complete!"
 obj: $(SOURCES) $(INCLUDES)
 @$(CC) $(CFLAGS) $(SOURCES)
 @echo "Compilation complete!"
 clean:
      @$(rm) $(TARGET) $(OBJECTS)
      @echo "Cleanup complete!"
This would compile all the files in a directory with a particular file extension.
P.S: If you name the file as "makefile", all you have to do to execute the  file is to write "./make" on the linux terminal prompt.