Use .c instead of .o to denote dependencies in Makefile

Currently, Makefile file is simple enough for the most of the
Makefile rules to follow the built-in shell lines implicitly. In
this condition, every objects in dependency lines could be
interpreted as a real file, so using .c as a dependency looks better.