---
name: "makeskel-2.6.0"
section: "1"
platform: "linux"
package: "fp-utils-2.6.0"
version: "2.6.0-9"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/makeskel-2.6.0"
---

# makeskel-2.6.0(1)

generate description file for fpdoc.

## NAME

makeskel - generate description file for  **fpdoc.**

## SYNOPSIS

**makeskel** \[--descr=filename\] \[--disable-arguments\]  \[--disable-errors\] \[--disable-function-results\]  \[--disable-private\] \[--disable-protected\]  \[--disable-seealso\] \[--emit-class-separator\]  \[--help\] \[--lang=language\] \[--output=filename\]  \[--update\] --package=name --input=cmdline

## Description

**makeskel** scans a Free Pascal unit source file and generates a skeleton description file for it. It generates nodes for all identifiers found in the interface section of the unit, although this behaviour can be adjusted with some options. It can also update an existing XML file, and then emits only nodes for identifiers for which no node exists yet.

## Usage

You can invoke  **makeskel** with as the only required arguments the  **input** and **package** arguments. It should at least contain the name of the unit file for which  documentation should be generated and the name of the package to which the unit belongs. The output of  **makeskel** will go to standard output by default.

## Options

**makeskel** has many options, most of them optional, defaults will be used in most cases.

- **--descr=descfile**

  This option must be used in conjunction with the  *update* option. It specifies the name of a description file **descfile** which must be updated. Note that the file must contain valid XML, or the update will fail. This option can be specified more than once.

- **--disable-arguments**

  If this option is specified,  **makeskel** will not emit nodes for the arguments of functions and procedures. By default, documentation nodes are emitted for functions and procedures as well.

- **--disable-errors**

  By default, each documentation node will contain a  *errors* node as well (excep for identifiers where this has no use, such as function arguments). If this option is specified, no  *errors* node will be generated.

- **--disable-function-results**

  By default, for functions, a  *result* node will be generated, to describe the result of the function. If this option is specified, no function result node will be generated.

- **--disable-private**

  By default, documentation nodes are also generated for private fields or methods  of a class. if this option is specified, the generation of nodes for private fields or methods is skipped.

- **--disable-protected**

  By default, documentation nodes are also generated for protected fields or methods of a class. if this option is specified, the generation of nodes  for protected fields or methods is skipped.

- **--emit-class-separator**

  If this option is specified, a visible comment with the name of the class for which documentation nodes will follow, is inserted between the nodes of two classes, making navigation easier.

- **--help**

  Emit a short help text and exit.

- **--input=cmd**

  The input (source) file to process. Multiple input files can be specified. The command may contain valid compiler options, currently the  *-Fipath* (search path) and *-dmacro* (define macro) options are recognized.

- **--lang=language**

  Sets the language for the output file. This will mainly set the strings used for the headers in various parts of the documentation files (by default they're in english). Currently, valid options are

  - *de*

    German.

  - *fr*

    French.

  - *nl*

    Dutch.

- **--output=filename**

  This option tells  **makeskel** where the output should go. If this option is not specified, the output is sent to standard output (the screen).

- **--package=packagename**

  This option is required. It specifies the name of the package. All nodes will be generated inside a node with  **name** attribute *packagename.*

- **--update**

  Turns on update mode. In this mode, the output is a file which contains only the missing nodes to complete the documentation of the input files. The existing nodes must be specified with the **descr** argument. Note that the output file may  *not* be the same as the input (description) nodes; A separate file must be specified (or no file, in which case output goes to standard output.

## SEE ALSO

-

  [**ppc386**(1)](/ppc386/1.md) [**latex**(1)](/latex/1.md) [**fpdoc**(1)](/fpdoc/1.md)
