I use Gentoo as my primary home Desktop OS. I have since ~2004. I appreciate the emerge
command for managing a source based OS as well as it does. Every now and then I check on other distributions, but I'm particularly fond of Linux From Scratch - For those of you Who Don't Know. Granted, I've never been through the entire book because using Gentoo has spoiled me in that respect. I consider Gentoo to be LFS + a Package Manager. I finally decided I'm going to complete the book, so I stuck XUbuntu on a VM to simulate the newness and ...
I'm following along in the release candidate for Version 3 - Systemd of CLFS, and it hit me at Chapter 6 - Temporary System - Make. If a user needs make
to compile a version of Make, the Chicken and Egg Causality Problem appears This leads me to my next logical questions.
When Stuart Feldman created
make
in 1976, how did the computing public compile his program if their OS did not contain an OS depenentmake
? Am I to assume that the WikiPedia article below is true for every OS?Did he have to package make to include every OS dependent version of make to complete 1?(See Below)
If I needed Program A, but it was only available to compile on OS A, did I have to buy OS A, even if I use OS B? (Please Ignore Windows here if Possible.)
Update
- Based on jimmij's comment, Did OS specific compilers exist in the same way that make was OS Dependent?
WikiPedia says:
Before Make's introduction, the Unix build system most commonly consisted of operating system dependent "make" and "install" shell scripts accompanying their program's source. Being able to combine the commands for the different targets into a single file and being able to abstract out dependency tracking and archive handling was an important step in the direction of modern build environments.
Also, please note that I am looking for some historical perspective here, as I was born in 1976.
make
to makemake
is not an XY problem. That's a chicken & egg problem.