---
name: "ocamlmktop"
section: "1"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ocamlmktop"
---

# ocamlmktop(1)

Building custom toplevel systems

## NAME

ocamlmktop - Building custom toplevel systems

## SYNOPSIS

**ocamlmktop** \[ **-v**\|**-version**\|**-vnum** \] \[ **-cclib** *libname* \] \[ **-ccopt** *option* \] \[ **-custom** \] \[ **-o** *exec-file* \] \[ **-I** *lib-dir* \] *filename ...*

## DESCRIPTION

The [**ocamlmktop**(1)](/ocamlmktop/1.md) command builds OCaml toplevels that contain user code preloaded at start-up. The [**ocamlmktop**(1)](/ocamlmktop/1.md) command takes as argument a set of *x*.cmo and *x*.cma files, and links them with the object files that implement the OCaml toplevel.  If the **-custom** flag is given, C object files and libraries (.o and .a files) can also be given on the command line and are linked in the resulting toplevel.

## OPTIONS

The following command-line options are recognized by [**ocamlmktop**(1)](/ocamlmktop/1.md).

- **-v**

  Print the version string of the compiler and exit.

- **-vnum** or **-version**

  Print the version number of the compiler in short form and exit.

- **-cclib -l***libname*

  Pass the **-l***libname* option to the C linker when linking in \`\`custom runtime'' mode (see the corresponding option for [**ocamlc**(1)](/ocamlc/1.md).

- **-ccopt**

  Pass the given option to the C compiler and linker, when linking in \`\`custom runtime'' mode. See the corresponding option for [**ocamlc**(1)](/ocamlc/1.md).

- **-custom**

  Link in \`\`custom runtime'' mode. See the corresponding option for [**ocamlc**(1)](/ocamlc/1.md).

- **-I** *directory*

  Add the given directory to the list of directories searched for compiled interface files (.cmo and .cma).

- **-o** *exec-file*

  Specify the name of the toplevel file produced by the linker. The default is **a.out**.

## SEE ALSO

[**ocamlc**(1)](/ocamlc/1.md).
