GNU LilyPond program usage: 1.2.3 Building LilyPond

### 1.2.3 Building LilyPond

#### Compiling

To install GNU LilyPond, type

>     gunzip -c lilypond-x.y.z | tar xf -
>     cd lilypond-x.y.z
>     ./configure		# run with --help for applicable options
>     make
>     su -c 'make install'

If you are not root, you should choose a `--prefix` argument that points into your home directory, e.g.

>     ./configure --prefix=$HOME/usr

#### Compiling for multiple platforms

If you want to build multiple versions of LilyPond with different configuration settings, you can use the `--enable-config=CONF` option of `configure`. You should use `make conf=CONF` to generate the output in ‘`out-CONF`’. For example, suppose you want to build with and without profiling, then use the following for the normal build

>     ./configure --prefix=$HOME/usr/ --enable-checking
>     make
>     make install

and for the profiling version, specify a different configuration

>     ./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
>     make conf=prof
>     make conf=prof install

#### Compiling outside the source tree

It is possible to compile LilyPond in a build tree different from the source tree, with `--srcdir` option of `configure`:

>     mkdir lily-build && cd lily-build
>     sourcedir/configure --srcdir=sourcedir

#### Useful `make` variables

If a less verbose build output if desired, the variable `QUIET_BUILD` may be set to `1` on `make` command line, or in ‘`local.make`’ at top of the build tree.

#### Application Usage