make is a utility designed for compiling executables from source (especially large projects with multiple source files, etc). A makefile describes the source files, intermediate files, dependencies, and steps required to generate the targets from their sources. make looks at file modification times to determine what has changed and runs the minimum number of steps indicated in the makefile to build a new executable.
-j