Linux x86-64

Install macMAKE

macMAKE installs under your home directory and carries its Linux x86-64 tools for building Classic PowerPC Macintosh CFM/PEF applications.

Release availability

macMAKE v0.1.1 is available now

macMAKE v0.1.1 is the active public release. The installer pins the immutable release asset and SHA-256 (d83c173d4184a67738df3bad7d0cadb2b6eab45fa2cc06df89f9f7eff4bd0656). The previous v0.1.0 release remains available through --version 0.1.0 or manual download on Downloads.

Linux requirements

The validated host is Debian 13 or Ubuntu 24.04 class Linux on x86-64. Other distributions may work if they provide compatible runtime libraries.

Required shared libraries are libc6, libgcc-s1, libgmp10, libmpc3, libmpfr6, and libzstd1. Package names can vary by distribution.

The base installer needs curl, sha256sum, Python 3.8 or newer, and standard Linux file utilities including GNU mv. Git is required only for the explicit minimal SDK fetch. It reports missing tools and does not install system packages for you.

macMAKE v0.1.1 targets Linux x86-64, qualifies Classic PowerPC CFM/PEF application builds primarily in C, and includes a bounded experimental native M68000 segmented C profile. It does not provide CFM-68K or general System 6–9 support. makePAD was observed accepting text, displaying its unsaved-changes dialog, and returning to Finder in a QEMU Mac OS 9.2.2 guest, with real-guest runtime acceptance verified. See the version-specific compatibility tracker.

Automatic installation

The installer selects the immutable Linux release, verifies its version-specific SHA-256, and installs under ~/.local:

curl -fsSL https://macmake.dev/install.sh | sh

To opt out of installer statistics, pass --no-analytics:

curl -fsSL https://macmake.dev/install.sh | sh -s -- --no-analytics

The installer supports an explicit version, a user-owned custom prefix, help, and noninteractive operation. It retains prior version directories when updating. It does not require root privileges or edit shell profiles.

Integrity model: the installer pins each archive SHA-256 in the script and downloads only from the corresponding versioned HTTPS release URL. It does not fetch a mutable checksum from the same asset server. The optional minimal SDK fetch is separate from the macMAKE archive and verifies its pinned Git revision and selected-file hashes; those identities are not a license grant or detached signature. The script itself is obtained over HTTPS from macmake.dev; it does not use a detached publisher signature, so a compromised website could replace the script and its pin. The Downloads page links the independent release checksum for manual verification.

After installation, ensure ~/.local/bin is on your PATH. If needed, add this line to your shell profile:

export PATH="$HOME/.local/bin:$PATH"

Privacy and installation statistics

The website sends page and interaction statistics to the Umami service at stats.mp.ls. Its tracker is limited to macmake.dev and www.macmake.dev, respects the browser’s Do Not Track setting, and does not include URL query strings or fragments. The service receives standard browser request metadata, including IP address and User-Agent, to report visits.

After a successful installation, the installer sends one installer-completed event to the Umami service at stats.mp.ls. Its only variable event property is the macMAKE release version; the request also carries fixed site/path metadata. The service receives normal network request metadata, including the connecting IP address and User-Agent. The installer does not add a distinct ID, username, installer machine hostname, installation path, project files, or SDK contents. A reinstall or upgrade creates another event, so this is a count of successful installer runs, not unique people or machines. Analytics is best-effort and cannot fail an installation.

To opt out of installer statistics, pass --no-analytics or set MACMAKE_DISABLE_ANALYTICS=1. Browser visits are not recorded when Do Not Track is enabled.

Manual installation

Download the archive and checksum from Downloads. Verify the archive before extraction:

sha256sum --check macmake-v0.1.1-linux-x86_64.tar.xz.sha256

To review the installer before using it, download the script locally, inspect it, then execute it:

curl -fSLo install.sh https://macmake.dev/install.sh
less install.sh
sh ./install.sh --help
sh ./install.sh

To opt out of installation statistics, use:

curl -fsSL https://macmake.dev/install.sh | sh -s -- --no-analytics

For a downloaded script, use sh ./install.sh --no-analytics or MACMAKE_DISABLE_ANALYTICS=1 sh ./install.sh.

For direct manual installation, extract the verified archive under a directory you own and set the toolchain root explicitly:

mkdir -p "$HOME/.local/share/macmake/releases/0.1.1"
tar -xJf macmake-v0.1.1-linux-x86_64.tar.xz \
  -C "$HOME/.local/share/macmake/releases/0.1.1" --strip-components=1
export MACMAKE_TOOLCHAIN_ROOT="$HOME/.local/share/macmake/releases/0.1.1/toolchain"
export PATH="$HOME/.local/share/macmake/releases/0.1.1/bin:$PATH"
macmake --version

Verify the installation

macmake --version
macmake help
macmake sdk list

For a project-specific readiness check, first discover the target with macmake inspect ., then run macmake doctor . --target "TARGET NAME". The target name comes from that project’s manifest.

Continue to the first build

Register Universal Interfaces

The macMAKE archive does not include historical SDK files. macmake sdk fetch --minimal explicitly retrieves only the pinned files listed in the installed CLI's SDK manifest. Use that command only for SDK material you are authorized to use. It keeps Universal Interfaces under ~/.local/share/macmake/macMAKELibs/Universal and the three MSL archives under the separate macMAKELibs root. Fetching does not register the SDK or grant rights. Register the actual Universal Interfaces directory explicitly:

macmake sdk fetch --minimal
macmake sdk add "$HOME/.local/share/macmake/macMAKELibs/Universal" --id macos9-sdk
macmake sdk inspect macos9-sdk
macmake sdk verify macos9-sdk

The installer can perform that explicit fetch with --with-sdk; the default installation installs macMAKE only. For a custom prefix, use the path printed by the command. The SDK catalog records the selected root and fingerprints; registration does not copy SDK files. See the SDK reference for capability requirements.

Update or uninstall

Install an explicit approved version with install.sh --version VERSION. The installer switches the active version after validation and keeps the prior version available under releases/.

To uninstall the default per-user installation, inspect these paths first, then remove only macMAKE’s wrapper and data directory:

ls -l "$HOME/.local/bin/macmake"
readlink "$HOME/.local/share/macmake/current"
rm -- "$HOME/.local/bin/macmake"
rm -r -- "$HOME/.local/share/macmake"

For a custom prefix, use that prefix’s bin/macmake and share/macmake paths. This removes the CLI and installed toolchain only. SDK registrations are stored separately. The catalog path is $MACMAKE_SDK_CATALOG when set; otherwise it is $XDG_CONFIG_HOME/macmake/sdk-catalog.json, or $HOME/.config/macmake/sdk-catalog.json when XDG_CONFIG_HOME is unset. A per-command --catalog may select a different file. v0.1 has no sdk remove command. Keep the catalog if you may reinstall, or back it up and remove the selected catalog file to forget all registrations; the SDK files themselves are not changed.