# 使用 Homebrew, apt, MacPorts, Nix, dnf 安装 omake

查看 omake 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:omake
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install omake
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install omake
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install omake
```

  证据: Debian stable package indexes: omake from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#omake
```

  证据: nixpkgs package indexes: pkgs/by-name/om/omake/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- dnf (92%):

```sh
sudo dnf install ocaml-omake
```

  证据: Fedora Rawhide package metadata: ocaml-omake from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

## 软件包事实

- **软件包键:** brew:omake
- **软件包管理器:** Homebrew
- **版本:** 0.10.7
- **来源摘要:** Build system designed for scalability, portability, and concision
- **主页:** <http://projects.camlcity.org/projects/omake.html>
- **仓库:** <https://github.com/ocaml-omake/omake>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- omake (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 0.10.7
## 项目历史与用法

OMake is an OCaml-written build system with make-like syntax, global project analysis, automatic dependency tracking, and an emphasis on scalable multi-directory builds. It belongs to the generation of build tools that tried to keep Make's concise rule style while fixing dependency and portability pain in large source trees.

### 项目历史

The public project page describes OMake as a build system designed for scalability and portability and notes its move from metaprl.org to camlcity.org. The opam package metadata credits Aleksey Nogin, Jason Hickey, and Gerd Stolpmann as authors, with Gerd Stolpmann listed as maintainer for the opam package.

The 2006 paper 'OMake: Designing a Scalable Build Process' framed OMake as a domain-specific programming problem. Its central goals were compositional project descriptions, concise small-project rules, and enough expressive power for larger builds.

### 采用历史

OMake became part of the OCaml build-tool landscape before newer tools such as Jenga and Dune changed common practice. Jane Street's retrospective on Jenga says that around 2012 OMake was one of OCaml's standard build systems, which is a useful adoption marker from a large OCaml user rather than a package index alone.

The project later consolidated maintenance under the ocaml-omake GitHub organization, while package managers such as opam, Debian, Ubuntu, Homebrew, MacPorts, Nix, and Fedora-family repositories kept shipping it for legacy and active projects.

### 使用方式

A typical OMake project has an OMakeroot at the repository root and OMakefile files in project directories. When omake runs, it walks the configuration tree, evaluates the OMakefiles, and builds with global knowledge of the project rather than invoking independent recursive make processes.

OMake users reach for it when they want automatic dependency analysis, digest-based incremental rebuilds, OCaml-oriented rules, cross-directory builds, and a programmable build language without writing raw Makefile plumbing for every subdirectory.

### 为什么软件包爱好者会关心

OMake is historically interesting because it captures an OCaml ecosystem moment before Dune became dominant. It is also a tidy example of a build tool whose design arguments were documented in an academic paper, then lived on as a real package carried by many operating-system distributions.

For package metadata, OMake is the kind of tool whose value is not measured only by repository activity: old build systems remain important because they are encoded into source releases, downstream package recipes, and long-lived project build instructions.

### 时间线

- 2006: the OMake design paper is published, presenting the build system as a scalable build-process DSL.
- The project moves from metaprl.org to camlcity.org, according to the official project page.
- 2012: Jane Street's Jenga history describes OMake as one of OCaml's standard build systems at the time.
- 2014: the ocaml-omake/omake GitHub repository is created, becoming the public maintenance home linked from package metadata.

### Related projects

- OMake sits beside GNU Make, OCamlMakefile, ocamlbuild, Jenga, and Dune in OCaml build history. Its project-wide analysis model also makes it a useful contrast with recursive make patterns.

### 来源

- <https://api.github.com/repos/ocaml-omake/omake>
- <https://blog.janestreet.com/how-we-accidentally-built-a-better-build-system-for-ocaml-index/>
- <https://dl.acm.org/doi/10.1007/11693017_7>
- <https://github.com/ocaml-omake/omake>
- <https://github.com/ocaml/opam-repository/blob/master/packages/omake/omake.0.10.7/opam>
- <https://projects.camlcity.org/projects/dl/omake-0.10.5/doc/html/omake-quickstart.html>
- <https://projects.camlcity.org/projects/omake.html>


## 安全说明

generalized runtime or code generation signal.

- **Geiger 风险:** yellow / 中
- generalized runtime or code generation signal

## 其他软件包管理器记录

- Debian apt - omake - 0.10.7-1: normalized package name match | Debian stable package indexes: omake from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | build system with automated dependency analysis | http://projects.camlcity.org/projects/omake.html
- Debian apt - omake-doc - 0.10.7-1: normalized package name match | Debian stable package indexes: omake-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | documentation for OMake | http://projects.camlcity.org/projects/omake.html
- Nix - omake: normalized package name match | nixpkgs package indexes: pkgs/by-name/om/omake/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - omake - 0.10.6-2: normalized package name match | Ubuntu 24.04 LTS package indexes: omake from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | build system with automated dependency analysis | http://projects.camlcity.org/projects/omake.html
- Ubuntu apt - omake-doc - 0.10.6-2: normalized package name match | Ubuntu 24.04 LTS package indexes: omake-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | documentation for OMake | http://projects.camlcity.org/projects/omake.html
- dnf - ocaml-omake - 0.10.7-10.fc45: normalized package name match | Fedora Rawhide package metadata: ocaml-omake from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Build system with automated dependency analysis | http://projects.camlcity.org/projects/omake.html
- MacPorts - omake: normalized package name match | MacPorts ports tree: devel/omake/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/omake.yml](https://github.com/mxcl/pkgdb/blob/main/combined/omake.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
