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

# xmkmf(1)

create a Makefile from an Imakefile

## NAME

xmkmf - create a Makefile from an Imakefile

## SYNOPSIS

**xmkmf** \[ **-a** \] \[ *topdir* \[ *curdir* \] \]

## DESCRIPTION

The **xmkmf** command is the normal way to create a **Makefile** from an **Imakefile** shipped with third-party software.

When invoked with no arguments in a directory containing an **Imakefile**, the **imake** program is run with arguments appropriate for your system (configured into **imake** when it was built) and generates a **Makefile**.

When invoked with the **-a** option, **xmkmf** builds the **Makefile** in the current directory, and then automatically executes \`\`make Makefiles'' (in case there are subdirectories), \`\`make includes'', and \`\`make depend'' for you.

If a *topdir* is given, **xmkmf** assumes nothing is installed on your system and looks for files in the build tree instead of using the installed versions. Optionally, *curdir* may be specified as a relative pathname from the top of the build tree to the current directory. It is necessary to supply *curdir* if the current directory has subdirectories, or the **Makefile** will not be able to build the subdirectories.

## SEE ALSO

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