The GNU make program automatically determines which pieces of a large program need to be recompiled, and issues the commands to compile them. You need a file called a makefile to tell make what to do. Most often, the makefile tells make how to compile and link a program.