system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Linux's 'configure', 'make', 'make install'

I just finished up installing ruby on a CentOS system and I can't for the life of me understand why I had to do these three steps. I googled around and it seems that this is the build system that all linux applications use. How does it work? And why execute three steps, why not just do 'make install'?

(I'm a java developer so I have very limited linux knowledge)
gpt
The real explanation is that 'configure' is a script that looks through your system, finds out where libraries, compiler(s) and everything else are, what special circumstances apply to your machine, etc., and writes a Makefile based on that. make, in turn, tells the compiler to perform the actual compilation as per instructions in the Makefile that were generated, and 'make install' just places the generated program in a standard folder and does associated installation steps (such as copies documentation or icons where needed).

ELI5 explanation would be, imagine you are at your friend's house and want to bake a cake and treat your friend to it. You know how to bake a cake but you can't immediately start to do it. First you will go to the kitchen, check if it has all the necessary ingredients and equipment. You'll see if it's a gas oven or an electric oven, you'll also check for some ingredients like nuts that make the cake better but that you can still work without if they aren't present. That's the 'configure' step.

Then you actually get to work making the cake. You use the ingredients that you previously found and the kitchen you familiarized yourself with. This is the longest part in the process, of course. That's exactly like the 'make' step.

Finally, your cake is ready, but you probably don't want to eat it right there in the kitchen while it's still inside the baking pan. You can do it, but it's not polite and not so easy. Instead, you'll set the cake on a nice big plate, bring it to the table, and before you invite everyone to eat you'll also take care of niceties like having some napkins on the table. Now everyone can enjoy the cake like they're supposed to, and that's what 'make install' corresponds to.