Dependencies needed, by example of a debian system:

apt-get install \
  make \
  asciidoc \
  asciidoc-dblatex \
  xsltproc \
  dblatex \
  docbook5-xml \
  mscgen \
  graphviz \
  python3-nwdiag

(Note that asciidoc-dblatex is required from debian 9 on and did not exist before.)

Dependencies for "make check":

apt-get install libxml2-utils

Prepare your build dir:
  autoreconf -fi
  ./configure

Optionally test building all shared content (use -j for parallel building):
  make        # generate test PDFs
  make check  # test for asciidoc errors

Install osmo-gsm-manuals:
  make install

Build the manuals of a specific Osmocom project:
  cd ../osmo-msc        # enter the project dir, clone first if needed
  ./configure --enable-manuals
  make
  ls doc/manuals/*.pdf  # find the PDFs here

Publish PDFs to the Osmocom server:
  cd ../osmo-msc  # enter the project dir
  make -C doc/manuals publish

To update the VTY reference for a given program, use 'osmo_interact_vty.py -X',
available from git.osmocom.org/python/osmo-python-tests:

  cd ~/osmo-python-tests
  python3 setup.py install

  osmo_interact_vty.py -X -p $VTY_PORT > vty/*_vty_reference.xml

Find the VTY port number at
https://osmocom.org/projects/cellular-infrastructure/wiki/Port_Numbers

For example, for osmo-msc, which has VTY port 4254:

a) with an osmo-msc already running:

  osmo_interact_vty.py -X -p 4254 > OsmoMSC/vty/msc_vty_reference.xml

b) launching an osmo-msc along:

  osmo_interact_vty.py -r "osmo-msc -c ~/src/osmo-msc/doc/examples/osmo-msc/osmo-msc.cfg" \
    -X -p 4254 > OsmoMSC/vty/msc_vty_reference.xml

Note that docbook.org since recently are providing DTDs only on HTTPS URLs,
while xmllint is incapable of SSL. Hence it is necessary to locally install the
docbook DTDs. (On Debian, these are included in the docbook5-xml package.)
