Makefiles are needed to compile c code and fortran code. Dependenacies are compiled in order before they are used. In a large program it's hard to discern which dependancies should be compiled first, ...