Back to browse
GitHub Repository

Pushing BSD-make to places it was not designed for.

5 starsMakefile

Mandelbrot set renderer written in pure [BSD] Makefiles

by b-aaz·Jul 7, 2026·3 points·0 comments

AI Analysis

●●●●GemWizardryBig BrainRabbit Hole

Manual floating-point arithmetic inside Make macros renders fractals without shell calls or binaries.

Strengths
  • Implements custom floating-point arithmetic using only Make macro expansion logic.
  • Proves computational universality of BSD Make with a visually verifiable output.
  • Zero external dependencies or shell escapes despite Make lacking native math.
Weaknesses
  • Rendering times are absurdly slow, taking days for medium-resolution images.
  • Visual artifacts like striping appear due to sketchy floating-point implementation edges.
Target Audience

Build system enthusiasts, constraint programming hobbyists, Makefile masochists

Similar To

X86CSS · Sameshi

Post Description

No calls to shell, no external binaries executed, just pure [BSD] Makefiles rendering my favorite fractal.

bmake (AKA BSD make) is the implementation of make(1) used by BSD operating systems. It does not support basic arithmetic, it doesn't have infinite loops, no floating point support, but I forced it to render a fractal anyways :) . To use BSD make on Linux, search your package manager for "bmake", install it, and run `bmake` inside the cloned repo instead of `make`.

Similar Projects

EducationMid

Vanilla JavaScript Mandelbrot Explorer

Click-to-zoom Mandelbrot running entirely in plain JS with UI controls (previous/reset/jump), double-click presets, and PNG export — small, focused feature set. The author clearly spent time on low-level optimizations (pixel manipulation and iteration tuning) so interactive zooms stay responsive in the browser. It's not novel — there are many mandelbrot demos — but it's a tidy, educational showcase of squeezing performance out of the DOM.

Rabbit HoleWizardry
krasotkin
104mo ago