# Install bmake with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Portable version of NetBSD make(1). Version 20260704 via Homebrew; verified 2026-07-05.

## Install

```sh
sudo av install brew:bmake
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bmake
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bmake
```

  Evidence: MacPorts ports tree: devel/bmake/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add bmake
```

  Evidence: Alpine Linux edge package indexes: bmake from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install bmake
```

  Evidence: Debian stable package indexes: bmake from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install bmake
```

  Evidence: Fedora Rawhide package metadata: bmake from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#bmake
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bm/bmake/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S bmake
```

  Evidence: Arch Linux sync databases: bmake from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install bmake
```

  Evidence: openSUSE Tumbleweed package metadata: bmake from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:bmake
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bmake>
- **Version:** 20260704
- **Source summary:** Portable version of NetBSD make(1)
- **Homepage:** <https://www.crufty.net/help/sjg/bmake.html>
- **Upstream docs:** <https://www.crufty.net/help/sjg/bmake.html>
- **License:** BSD-3-Clause
- **Source archive:** <https://www.crufty.net/ftp/pub/sjg/bmake-20260704.tar.gz>
- **Last updated:** 2026-07-05T09:17:33Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bmake (cli)
- bmake (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 20260704
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://www.crufty.net/help/sjg/bmake.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

bmake is Simon J. Gerraty's portable distribution of NetBSD make, packaged so systems outside NetBSD can use the BSD make dialect and the /usr/share/mk-style build framework.

### Project history

NetBSD make descends from the BSD make family rather than GNU make. bmake packages that implementation for other Unix-like systems, preserving the conditionals, variable modifiers, include behavior, and .mk conventions expected by BSD makefiles.

The bmake documentation describes a portable build that tracks NetBSD make while being installable as a separate command. The separate name matters because many systems already reserve make for GNU make, vendor make, or another platform make.

The tool is maintained by Simon J. Gerraty, who has long maintained the portable bmake distribution and related mk files used to bring NetBSD-style builds to non-NetBSD hosts.

### Adoption history

bmake's biggest adoption channel is pkgsrc. The official pkgsrc guide tells users on systems other than NetBSD to use bmake after bootstrapping, and NetBSD's package documentation says bmake is required for correct pkgsrc operation on non-NetBSD systems.

Because pkgsrc targets many Unix-like systems, bmake became a quiet portability layer for package builds on Linux, macOS, Solaris/illumos, the BSDs, and other platforms where /usr/bin/make is not NetBSD make.

It is also packaged directly by Homebrew, MacPorts, Debian/Ubuntu, Fedora, Arch, Alpine, openSUSE, and Nix, which makes it easy to test BSD makefiles without installing a full pkgsrc tree.

### How it is used

Typical direct use is simply bmake in a source tree whose Makefile expects BSD make semantics. In pkgsrc workflows, users run bmake install, bmake clean, and related package targets after bootstrap.

bmake reads local makefile/Makefile inputs and system .mk includes such as sys.mk, so it is both a build command and an interpreter for a particular makefile language.

### Why package nerds care

bmake is package-nerd-significant because it explains why portable packaging systems do not all standardize on GNU make. pkgsrc needs one make dialect everywhere, so it carries the make implementation with the packaging framework.

It is also a reminder that make is not one language. Subtle differences in conditionals, suffix rules, includes, variable expansion, and predefined .mk files can decide whether a cross-platform package build is reproducible or mysterious.

For Homebrew users, bmake is mostly a compatibility and archaeology tool: it lets macOS users build or inspect software written for NetBSD/pkgsrc conventions without repointing the system make.

### Timeline

- 1990s: NetBSD continues the BSD make lineage as part of the base system.
- 1998: pkgsrc ships with NetBSD 1.3 and later becomes a major driver for portable NetBSD make usage.
- 2000s: bmake is distributed as a portable form of NetBSD make for non-NetBSD pkgsrc and standalone builds.
- 2010s-2020s: pkgsrc documentation continues to direct non-NetBSD users to the bootstrapped bmake command.

### Related projects

- NetBSD make: the upstream make implementation bmake packages for portable use.
- pkgsrc: the NetBSD packages collection and bmake's most important adoption path.
- BSD make and FreeBSD make: related BSD make dialects with overlapping history but different platform defaults.
- GNU make: the dominant make implementation on many Linux systems and the tool bmake commonly coexists with.

### Sources

- <https://www.crufty.net/help/sjg/bmake.html>
- <https://www.crufty.net/help/sjg/bmake_1.htm>
- <https://www.netbsd.org/docs/pkgsrc/platforms.html>
- <https://www.netbsd.org/docs/software/packages.html>
- <https://www.pkgsrc.org/>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for bmake. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./makefile, ./Makefile, /usr/share/mk/sys.mk
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bmake
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - bmake - 20200710-17: normalized package name match | Debian stable package indexes: bmake from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | NetBSD make | https://www.crufty.net/help/sjg/bmake.html
- Nix - bmake: normalized package name match | nixpkgs package indexes: pkgs/by-name/bm/bmake/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - bmake - 20200710-16: normalized package name match | Ubuntu 24.04 LTS package indexes: bmake from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | NetBSD make | https://www.crufty.net/help/sjg/bmake.html
- apk - bmake - 20260508-r0: normalized package name match | Alpine Linux edge package indexes: bmake from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Portable version of the NetBSD make build tool | https://www.crufty.net/help/sjg/bmake.html
- apk - bmake-doc - 20260508-r0: normalized package name match | Alpine Linux edge package indexes: bmake-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Portable version of the NetBSD make build tool (documentation) | https://www.crufty.net/help/sjg/bmake.html
- dnf - bmake - 20230711-10.fc44: normalized package name match | Fedora Rawhide package metadata: bmake from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | The NetBSD make(1) tool | https://ftp.netbsd.org/pub/NetBSD/misc/sjg/
- dnf - mk-files - 20230711-10.fc44: normalized package name match | Fedora Rawhide package metadata: mk-files from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Support files for bmake, the NetBSD make(1) tool | https://ftp.netbsd.org/pub/NetBSD/misc/sjg/
- pacman - bmake - 20260508-1: normalized package name match | Arch Linux sync databases: bmake from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Portable version of the NetBSD make build tool | https://www.crufty.net/help/sjg/bmake.html
- zypper - bmake - 20230723-1.9: normalized package name match | openSUSE Tumbleweed package metadata: bmake from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The NetBSD make(1) tool | https://ftp.NetBSD.org/pub/NetBSD/misc/sjg/
- MacPorts - bmake: normalized package name match | MacPorts ports tree: devel/bmake/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [mk-configure](https://www.automicvault.com/pkg/brew/mk-configure/) - Popular package that depends on this formula.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools, make.
- [imake](https://www.automicvault.com/pkg/brew/imake/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools, make.
- [colormake](https://www.automicvault.com/pkg/brew/colormake/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, make.
- [compiledb](https://www.automicvault.com/pkg/brew/compiledb/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, make.
- [fpm](https://www.automicvault.com/pkg/brew/fpm/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools.
- [melange](https://www.automicvault.com/pkg/brew/melange/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools.
- [nx](https://www.automicvault.com/pkg/brew/nx/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools.
- [ocamlbuild](https://www.automicvault.com/pkg/brew/ocamlbuild/) - Shares av.db curated category or tags: build-system, build-tools, cli, developer-tools.
- [bsdmake](https://www.automicvault.com/pkg/brew/bsdmake/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-system, cli, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/bmake.yml](https://github.com/automic-vault/db/blob/main/combined/bmake.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
