Makefile должен включать все ваши исходные файлы, такие как .c и .o (и .h при необходимости)
и дело в том, что шаг компиляции должен следовать следующим образом:
FileName ---> FileName.o ---> FileName.c
надеюсь, это вам поможет.
0r попробуйте поискать по ключевому слову "makefile" в Google
это не сложно читать.