They're Made Out of Makes · GitHub
/" data-turbo-transient="true" />
Skip to content
-->
Search Gists
Search Gists
Sign in
Sign up
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
alganet/make.md
Created<br>June 4, 2026 15:59
Show Gist options
Download ZIP
Star
(0)
You must be signed in to star a gist
Fork
(0)
You must be signed in to fork a gist
Embed
Select an option
Embed<br>Embed this gist in your website.
Share<br>Copy sharable link for this gist.
Clone via HTTPS<br>Clone using the web URL.
No results found
Learn more about clone URLs
Clone this repository at <script src="https://gist.github.com/alganet/d70eb7f48e64818cae9efbc599449ada.js"></script>
" readonly="readonly" data-autoselect="true" data-target="primer-text-field.inputElement " aria-describedby="validation-e66036ca-6f21-48ca-a25c-3ff61bc3dba6" class="form-control FormControl-monospace FormControl-input FormControl-small rounded-left-0 rounded-right-0 border-right-0" type="text" name="gist-share-url-sized-down" />
Save alganet/d70eb7f48e64818cae9efbc599449ada to your computer and use it in GitHub Desktop.
Embed
Select an option
Embed<br>Embed this gist in your website.
Share<br>Copy sharable link for this gist.
Clone via HTTPS<br>Clone using the web URL.
No results found
Learn more about clone URLs
Clone this repository at <script src="https://gist.github.com/alganet/d70eb7f48e64818cae9efbc599449ada.js"></script>
" readonly="readonly" data-autoselect="true" data-target="primer-text-field.inputElement " aria-describedby="validation-a62a6506-186e-43ce-825c-3a90f4d03a99" class="form-control FormControl-monospace FormControl-input FormControl-small rounded-left-0 rounded-right-0 border-right-0" type="text" name="gist-share-url-original" />
Save alganet/d70eb7f48e64818cae9efbc599449ada to your computer and use it in GitHub Desktop.
Download ZIP
They're Made Out of Makes
Raw
make.md
They're Made Out of Makes
with apologies to Terry Bisson, and to whoever first typed make make
"They're made out of makes."
"Makes?"
"Makes. Makefiles. We checked the whole build tree. It's nothing but makes."
"Makes doing what? Where do the binaries come from?"
"The makes make the binaries. Are you understanding me? We opened the repo. There's no program in there, no source, no little compiler that just exists. Just makes. A Makefile that builds the thing that builds the thing."
"That's ridiculous. It shipped me a working compiler last week. You're telling me a recipe with tab-indented lines did that?"
"make all did that. The targets go in one end, the executable comes out the other."
"So there's a base compiler somewhere. A real one, written in something."
"No base. No real one. We looked. The compiler is built by a compiler. Which was built by a compiler. Which was built by—"
"Spare me. Something has to be first. Somebody wrote the first one by hand."
"That's the thing. We git blamed it back forty years. The first compiler was compiled by a compiler that no longer exists, on a machine that no longer exists, from a binary nobody kept. We call it the bootstrap. Nobody's seen it. We just trust it was there."
"You're asking me to believe in a compiler that builds itself out of faith."
"I'm telling you. make calls make. The Makefile has a rule to rebuild the Makefile. We ran make and it generated the configure script that generates the Makefile that runs make."
"That's a loop. That can't terminate."
"It terminates. Mostly. There's a stage-0 binary checked into the repo as a blob. Nobody knows what's inside it. We file'd it. It said data. We make'd with it and out came a working toolchain. It's makes all the way down, and at the very bottom there's a blob we're all too scared to look at."
"No source code?"
"Oh, there's source all right. It's just that the source is built by the thing the source builds! That's what I've been trying to tell you."
"So... what does the compiling?"
"You're refusing to deal with this. The makes do the compiling. make invokes gcc, which was made by make, which invoked gcc."
"Compiling Makefiles! You're asking me to believe in self-compiling text files!"
"Yes! Bootstrapping text files! There's a target in there called all. There's one called clean. There's one called install that copies the thing it just built over the thing that built it. The makes are the whole deal! Are you getting the picture or do I make clean and start over?"
"Omigod. You're serious. They're made out of makes."
"Thank you. Finally. Yes. And the build's been green for almost a hundred releases."
"Omigod. So what do these makes have in mind?"
"First they want to build cleanly. Then, a few thousand lines of recursive $(MAKE) -C subdir in,...