LilyPond Contributor's Guide: 2.2 Compiling with LilyDev

## 2.2 Compiling with LilyDev

LilyDev is our custom GNU/Linux which contains all the necessary dependencies to do LilyPond development; for more information, see LilyDev.

#### Preparing the build

To prepare the build directory, enter (or copy&paste) the below text. This should take less than a minute.

>     cd $LILYPOND_GIT
>     sh autogen.sh --noconfigure
>     mkdir -p build/
>     cd build/
>     ../configure

#### Building `lilypond`

Compiling LilyPond will take anywhere between 1 and 15 minutes on most ‘modern’ computers – depending on CPU and available RAM. We also recommend that you minimize the terminal window while it is building; this can help speed up on compilation times.

>     cd $LILYPOND_GIT/build/
>     make

It is possible to run `make` with the `-j` option to help speed up compilation times even more. See Compiling LilyPond

You may run the compiled `lilypond` with:

>     cd $LILYPOND_GIT/build/
>     out/bin/lilypond my-file.ly

#### Building the documentation

Compiling the documentation is a much more involved process, and will likely take 2 to 10 hours.

>     cd $LILYPOND_GIT/build/
>     make
>     make doc

The documentation is put in ‘`out-www/offline-root/`’. You may view the html files by entering the below text; we recommend that you bookmark the resulting page:

>     firefox $LILYPOND_GIT/build/out-www/offline-root/index.html

#### Installing

Don’t. There is no reason to install LilyPond within LilyDev. All development work can (and should) stay within the ‘`$LILYPOND_GIT`’ directory, and any personal composition or typesetting work should be done with an official GUB release.

#### Problems and other options

To select different build options, or isolate certain parts of the build, or to use multiple CPUs while building, read Compiling.

In particular, contributors working on the documentation should be aware of some bugs in the build system, and should read the workarounds in Generating documentation.

#### LilyPond — Contributor’s Guide v2.22.2 (stable-branch).