Compiling your program is easy when you're working with one source and the standard libraries, but it gets more complex as you go along. That's why God put make on this earth.
The First Makefile
...was created alongside the Earth. Every other makefile is derived from a previous one.
Jokes aside, the make program reads a makefile