+ WARNING: Please consider installing optional programs: BAR
+
+ If you intend to build the documentation locally, you will need to
+install or update these programs accordingly.
+
+ Note: `../configure' may fail to issue warnings for certain
+ documentation build requirements that are not met. If you
+ experience problems when building the documentation, you may
+ need to do a manual check of *note Requirements for building
+ documentation::.
+
+Configuring target directories
+..............................
+
+ Note: make sure that you are in the `build/' subdirectory of
+ your source tree.
+
+If you intend to use your local build to install a local copy of the
+program, you will probably want to configure the installation
+directory. Here are the relevant lines taken from the output of
+`../configure --help':
+
+ By default, ``make install'' will install all the files in
+ `/usr/local/bin', `/usr/local/lib' etc. You can specify an
+ installation prefix other than `/usr/local' using ``--prefix'',
+ for instance ``--prefix=$HOME''.
+
+ A typical installation prefix is `$HOME/usr':
+
+ ../configure --prefix=$HOME/usr
+
+ Note that if you plan to install a local build on a system where you
+do not have root privileges, you will need to do something like this
+anyway--`make install' will only succeed if the installation prefix
+points to a directory where you have write permission (such as your
+home directory). The installation directory will be automatically
+created if necessary.
+
+ The location of the `lilypond' command installed by this process
+will be `PREFIX/bin/lilypond'; you may want to add `PREFIX/bin/' to
+your `$PATH' if it is not already included.
+
+ It is also possible to specify separate installation directories for
+different types of program files. See the full output of
+`../configure --help' for more information.
+
+ If you encounter any problems, please see *note Problems::.
+
+Compiling LilyPond
+==================
+
+Using `make'
+------------
+
+ Note: make sure that you are in the `build/' subdirectory of
+ your source tree.
+
+LilyPond is compiled with the `make' command. Assuming `make' is
+configured properly, you can simply run:
+
+ make
+
+ `make' is short for `make all'. To view a list of `make' targets,
+run:
+
+ make help
+
+ TODO: Describe what `make' actually does.
+
+Saving time with the `-j' option
+--------------------------------
+
+If your system has multiple CPUs, you can speed up compilation by
+adding `-jX' to the `make' command, where `X' is one more than the
+number of cores you have. For example, a typical Core2Duo machine
+would use:
+
+ make -j3
+
+ If you get errors using the `-j' option, and `make' succeeds without
+it, try lowering the `X' value.
+
+ Because multiple jobs run in parallel when `-j' is used, it can be
+difficult to determine the source of an error when one occurs. In that
+case, running `make' without the `-j' is advised.
+
+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
+
+ and for the profiling version, specify a different configuration
+
+ ./configure --prefix=$HOME/usr/ --enable-profiling \
+ --enable-config=prof --disable-checking
+ make conf=prof
+
+ If you wish to install a copy of the build with profiling, don't
+forget to use `conf=CONF' when issuing `make install':
+
+ make conf=prof install
+
+
+See also
+........
+
+
+
+ *note Installing LilyPond from a local build::
+
+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.
+
+Post-compilation options
+========================
+
+Installing LilyPond from a local build
+--------------------------------------
+
+If you configured `make' to install your local build in a directory
+where you normally have write permission (such as your home directory),
+and you have compiled LilyPond by running `make', you can install the
+program in your target directory by running:
+
+ make install
+
+ If instead, your installation directory is not one that you can
+normally write to (such as the default `/usr/local/', which typically
+is only writeable by the superuser), you will need to temporarily
+become the superuser when running `make install':
+
+ sudo make install
+
+or...
+
+ su -c 'make install'
+
+ If you don't have superuser privileges, then you need to configure
+the installation directory to one that you can write to, and then
+re-install. See *note Configuring target directories::.
+
+Generating documentation
+------------------------
+
+Documentation editor's edit/compile cycle
+.........................................
+
+ * Initial documentation build:
+
+ make [-jX]
+ make [-jX CPU_COUNT=X] doc _## can take an hour or more_
+
+ * Edit/compile cycle:
+
+ _## edit source files, then..._
+
+ make [-jX] _## needed if editing outside_
+ _## Documentation/, but useful anyway_
+ _## for finding Texinfo errors._
+ touch Documentation/*te?? _## bug workaround_
+ make [-jX CPU_COUNT=X] doc _## usually faster than initial build._
+
+ * Reset:
+
+ In some cases, it is possible to clean the compiled documentation
+ with `make doc-clean', but this method is not guaranteed to fix
+ everything. Instead, we recommend that you delete your `build/'
+ directory, and begin compiling from scratch. Since the
+ documentation compile takes much longer than the non-documentation
+ compile, this does not increase the overall time by a great deal.
+
+
+Building documentation
+......................
+
+After a successful compile (using `make'), the documentation can be
+built by issuing: