[ Thanks to Jonny5 for this link.
]
“Make has always been described to me as if one were baking a
cake. You have a prescribed list of ingredients, each one with its
own place in the recipe. The directions are followed and out pops a
cake. Make is great for cake. But it really shines when you’re
baking things like a motorcycle. Let me explain. Your basic cake
has a handful of ingredients, at best, but a motorcycle contains
hundreds, if not, thousands of parts. Make can execute
compiler/linker commands, shell commands, other makefiles, and even
has some nifty scripting features of its own. All of this makes it
easy to use make to build large programming projects, not just
cakes.”
“Makefiles are made up of a series of structures that define
targets, dependencies, and the commands that build said targets.
The most basic ingredient for a makefile is structured like:
target: dependency1 dependency2 ... dependencyN command(s)
Depending on the version of make that you are using, each line
containing commands may have to be preceded by a tab. I always use
a tab to avoid any possible gang confrontations. Let’s take a look
at what our makefile might look like if we were compiling a really
nasty cake.”