Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where did the first make binary come from?

Tags:

linux

makefile

I'm having to build gnu make from source for reasons too complicated to explain here.

I noticed to build it I require the make command itself, in the traditional fashion:

./configure
make install

So what if I didn't have the make binary already? Where did the first ever make binary come from?

like image 296
Adam Avatar asked Mar 14 '12 14:03

Adam


3 Answers

From the same place the first gcc binary came from.

The first make was created probably using a shell script to do the build. After that, make would "make" itself.

It's a notable achievement in systems development when the platform becomes "self-hosting". That is the platform can build itself.

Things like "make make" and "gcc gcc.c".

Many language writers will create their language in another language (say, C) and when they have moved it far enough along, they will use that original bootstrap compiler to write a new compiler in the original language. Finally, they discard the original.

Back in the day, a friend was working on a debugger for OS/2, notable for being a multi-tasking operating system at the time. And he would regale about the times when they would be debugging the debugger, and find a bug. So, they would debug the debugger debugging the debugger. It's a novel concept and goes to the heart of computing and abstraction.

Inevitably, it all boils back to when someone keyed in something through a hardwire key pad or some other switches to get an initial program loaded. Then they leveraged that program to do other work, and it all just grows from there.

like image 85
Will Hartung Avatar answered Nov 03 '22 05:11

Will Hartung


Stuart Feldman, then at AT&T, wrote the source code for make around the time of 7th Edition UNIX™, and used manual compilation (or maybe a shell script) until make was working well enough to be used to build itself. You can find the UNIX Programmer's Manual for 7th Edition online, and in particular, the original paper describing the original version of make, dated August 1978.

like image 3
Jonathan Leffler Avatar answered Nov 03 '22 05:11

Jonathan Leffler


make is just one convenience tool. It is still possible to invoke cc, ld, etc. manually or via other scripting tools.

like image 2
Ignacio Vazquez-Abrams Avatar answered Nov 03 '22 03:11

Ignacio Vazquez-Abrams