Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02bafd96 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'docs-4.9' of git://git.lwn.net/linux

Pull documentation updates from Jonathan Corbet:
 "This is the documentation update pull for the 4.9 merge window.

  The Sphinx transition is still creating a fair amount of work. Here we
  have a number of fixes and, importantly, a proper PDF output solution,
  thanks to Jani Nikula, Mauro Carvalho Chehab and Markus Heiser.

  I've started a couple of new books: a driver API book (based on the
  old device-drivers.tmpl) and a development tools book. Both are meant
  to show how we can integrate together our existing documentation into
  a more coherent and accessible whole. It involves moving some stuff
  around and formatting changes, but, I think, the results are worth it.
  The good news is that most of our existing Documentation/*.txt files
  are *almost* in RST format already; the amount of messing around
  required is minimal.

  And, of course, there's the usual set of updates, typo fixes, and
  more"

* tag 'docs-4.9' of git://git.lwn.net/linux: (120 commits)
  URL changed for Linux Foundation TAB
  dax : Fix documentation with respect to struct pages
  iio: Documentation: Correct the path used to create triggers.
  docs: Remove space-before-label guidance from CodingStyle
  docs-rst: add inter-document cross references
  Documentation/email-clients.txt: convert it to ReST markup
  Documentation/kernel-docs.txt: reorder based on timestamp
  Documentation/kernel-docs.txt: Add dates for online docs
  Documentation/kernel-docs.txt: get rid of broken docs
  Documentation/kernel-docs.txt: move in-kernel docs
  Documentation/kernel-docs.txt: remove more legacy references
  Documentation/kernel-docs.txt: add two published books
  Documentation/kernel-docs.txt: sort books per publication date
  Documentation/kernel-docs.txt: adjust LDD references
  Documentation/kernel-docs.txt: some improvements on the ReST output
  Documentation/kernel-docs.txt: Consistent indenting: 4 spaces
  Documentation/kernel-docs.txt: Add 4 paper/book references
  Documentation/kernel-docs.txt: Improve layouting of book list
  Documentation/kernel-docs.txt: Remove offline or outdated entries
  docs: Clean up bare :: lines
  ...
parents 2105b9ff 3c76ff47
Loading
Loading
Loading
Loading
+169 −95
Original line number Original line Diff line number Diff line
.. _changes:

Minimal requerements to compile the Kernel
++++++++++++++++++++++++++++++++++++++++++

Intro
Intro
=====
=====


This document is designed to provide a list of the minimum levels of
This document is designed to provide a list of the minimum levels of
software necessary to run the 3.0 kernels.
software necessary to run the 4.x kernels.


This document is originally based on my "Changes" file for 2.0.x kernels
This document is originally based on my "Changes" file for 2.0.x kernels
and therefore owes credit to the same people as that file (Jared Mauch,
and therefore owes credit to the same people as that file (Jared Mauch,
@@ -10,9 +15,9 @@ Axel Boldt, Alessandro Sigala, and countless other users all over the
'net).
'net).


Current Minimal Requirements
Current Minimal Requirements
============================
****************************


Upgrade to at *least* these software revisions before thinking you've
Upgrade to at **least** these software revisions before thinking you've
encountered a bug!  If you're unsure what version you're currently
encountered a bug!  If you're unsure what version you're currently
running, the suggested command should tell you.
running, the suggested command should tell you.


@@ -21,34 +26,40 @@ running a Linux kernel. Also, not all tools are necessary on all
systems; obviously, if you don't have any ISDN hardware, for example,
systems; obviously, if you don't have any ISDN hardware, for example,
you probably needn't concern yourself with isdn4k-utils.
you probably needn't concern yourself with isdn4k-utils.


o  GNU C                  3.2                     # gcc --version
====================== ===============  ========================================
o  GNU make               3.80                    # make --version
        Program        Minimal version       Command to check the version
o  binutils               2.12                    # ld -v
====================== ===============  ========================================
o  util-linux             2.10o                   # fdformat --version
GNU C                  3.2              gcc --version
o  module-init-tools      0.9.10                  # depmod -V
GNU make               3.80             make --version
o  e2fsprogs              1.41.4                  # e2fsck -V
binutils               2.12             ld -v
o  jfsutils               1.1.3                   # fsck.jfs -V
util-linux             2.10o            fdformat --version
o  reiserfsprogs          3.6.3                   # reiserfsck -V
module-init-tools      0.9.10           depmod -V
o  xfsprogs               2.6.0                   # xfs_db -V
e2fsprogs              1.41.4           e2fsck -V
o  squashfs-tools         4.0                     # mksquashfs -version
jfsutils               1.1.3            fsck.jfs -V
o  btrfs-progs            0.18                    # btrfsck
reiserfsprogs          3.6.3            reiserfsck -V
o  pcmciautils            004                     # pccardctl -V
xfsprogs               2.6.0            xfs_db -V
o  quota-tools            3.09                    # quota -V
squashfs-tools         4.0              mksquashfs -version
o  PPP                    2.4.0                   # pppd --version
btrfs-progs            0.18             btrfsck
o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version
pcmciautils            004              pccardctl -V
o  nfs-utils              1.0.5                   # showmount --version
quota-tools            3.09             quota -V
o  procps                 3.2.0                   # ps --version
PPP                    2.4.0            pppd --version
o  oprofile               0.9                     # oprofiled --version
isdn4k-utils           3.1pre1          isdnctrl 2>&1|grep version
o  udev                   081                     # udevd --version
nfs-utils              1.0.5            showmount --version
o  grub                   0.93                    # grub --version || grub-install --version
procps                 3.2.0            ps --version
o  mcelog                 0.6                     # mcelog --version
oprofile               0.9              oprofiled --version
o  iptables               1.4.2                   # iptables -V
udev                   081              udevd --version
o  openssl & libcrypto    1.0.0                   # openssl version
grub                   0.93             grub --version || grub-install --version
o  bc                     1.06.95                 # bc --version
mcelog                 0.6              mcelog --version

iptables               1.4.2            iptables -V
openssl & libcrypto    1.0.0            openssl version
bc                     1.06.95          bc --version
Sphinx\ [#f1]_	       1.2		sphinx-build --version
====================== ===============  ========================================

.. [#f1] Sphinx is needed only to build the Kernel documentation


Kernel compilation
Kernel compilation
==================
******************


GCC
GCC
---
---
@@ -64,16 +75,16 @@ You will need GNU make 3.80 or later to build the kernel.
Binutils
Binutils
--------
--------


Linux on IA-32 has recently switched from using as86 to using gas for
Linux on IA-32 has recently switched from using ``as86`` to using ``gas`` for
assembling the 16-bit boot code, removing the need for as86 to compile
assembling the 16-bit boot code, removing the need for ``as86`` to compile
your kernel.  This change does, however, mean that you need a recent
your kernel.  This change does, however, mean that you need a recent
release of binutils.
release of binutils.


Perl
Perl
----
----


You will need perl 5 and the following modules: Getopt::Long, Getopt::Std,
You will need perl 5 and the following modules: ``Getopt::Long``,
File::Basename, and File::Find to build the kernel.
``Getopt::Std``, ``File::Basename``, and ``File::Find`` to build the kernel.


BC
BC
--
--
@@ -93,7 +104,7 @@ and higher.




System utilities
System utilities
================
****************


Architectural changes
Architectural changes
---------------------
---------------------
@@ -115,7 +126,7 @@ well as the desired DocBook stylesheets.
Util-linux
Util-linux
----------
----------


New versions of util-linux provide *fdisk support for larger disks,
New versions of util-linux provide ``fdisk`` support for larger disks,
support new options to mount, recognize more supported partition
support new options to mount, recognize more supported partition
types, have a fdformat which works with 2.4 kernels, and similar goodies.
types, have a fdformat which works with 2.4 kernels, and similar goodies.
You'll probably want to upgrade.
You'll probably want to upgrade.
@@ -125,54 +136,57 @@ Ksymoops


If the unthinkable happens and your kernel oopses, you may need the
If the unthinkable happens and your kernel oopses, you may need the
ksymoops tool to decode it, but in most cases you don't.
ksymoops tool to decode it, but in most cases you don't.
It is generally preferred to build the kernel with CONFIG_KALLSYMS so
It is generally preferred to build the kernel with ``CONFIG_KALLSYMS`` so
that it produces readable dumps that can be used as-is (this also
that it produces readable dumps that can be used as-is (this also
produces better output than ksymoops).  If for some reason your kernel
produces better output than ksymoops).  If for some reason your kernel
is not build with CONFIG_KALLSYMS and you have no way to rebuild and
is not build with ``CONFIG_KALLSYMS`` and you have no way to rebuild and
reproduce the Oops with that option, then you can still decode that Oops
reproduce the Oops with that option, then you can still decode that Oops
with ksymoops.
with ksymoops.


Module-Init-Tools
Module-Init-Tools
-----------------
-----------------


A new module loader is now in the kernel that requires module-init-tools
A new module loader is now in the kernel that requires ``module-init-tools``
to use.  It is backward compatible with the 2.4.x series kernels.
to use.  It is backward compatible with the 2.4.x series kernels.


Mkinitrd
Mkinitrd
--------
--------


These changes to the /lib/modules file tree layout also require that
These changes to the ``/lib/modules`` file tree layout also require that
mkinitrd be upgraded.
mkinitrd be upgraded.


E2fsprogs
E2fsprogs
---------
---------


The latest version of e2fsprogs fixes several bugs in fsck and
The latest version of ``e2fsprogs`` fixes several bugs in fsck and
debugfs.  Obviously, it's a good idea to upgrade.
debugfs.  Obviously, it's a good idea to upgrade.


JFSutils
JFSutils
--------
--------


The jfsutils package contains the utilities for the file system.
The ``jfsutils`` package contains the utilities for the file system.
The following utilities are available:
The following utilities are available:
o fsck.jfs - initiate replay of the transaction log, and check

- ``fsck.jfs`` - initiate replay of the transaction log, and check
  and repair a JFS formatted partition.
  and repair a JFS formatted partition.
o mkfs.jfs - create a JFS formatted partition.

o other file system utilities are also available in this package.
- ``mkfs.jfs`` - create a JFS formatted partition.

- other file system utilities are also available in this package.


Reiserfsprogs
Reiserfsprogs
-------------
-------------


The reiserfsprogs package should be used for reiserfs-3.6.x
The reiserfsprogs package should be used for reiserfs-3.6.x
(Linux kernels 2.4.x). It is a combined package and contains working
(Linux kernels 2.4.x). It is a combined package and contains working
versions of mkreiserfs, resize_reiserfs, debugreiserfs and
versions of ``mkreiserfs``, ``resize_reiserfs``, ``debugreiserfs`` and
reiserfsck. These utils work on both i386 and alpha platforms.
``reiserfsck``. These utils work on both i386 and alpha platforms.


Xfsprogs
Xfsprogs
--------
--------


The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
The latest version of ``xfsprogs`` contains ``mkfs.xfs``, ``xfs_db``, and the
xfs_repair utilities, among others, for the XFS filesystem.  It is
``xfs_repair`` utilities, among others, for the XFS filesystem.  It is
architecture independent and any version from 2.0.0 onward should
architecture independent and any version from 2.0.0 onward should
work correctly with this version of the XFS kernel code (2.6.0 or
work correctly with this version of the XFS kernel code (2.6.0 or
later is recommended, due to some significant improvements).
later is recommended, due to some significant improvements).
@@ -180,7 +194,7 @@ later is recommended, due to some significant improvements).
PCMCIAutils
PCMCIAutils
-----------
-----------


PCMCIAutils replaces pcmcia-cs. It properly sets up
PCMCIAutils replaces ``pcmcia-cs``. It properly sets up
PCMCIA sockets at system startup and loads the appropriate modules
PCMCIA sockets at system startup and loads the appropriate modules
for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
subsystem is used.
subsystem is used.
@@ -198,7 +212,7 @@ Intel IA32 microcode


A driver has been added to allow updating of Intel IA32 microcode,
A driver has been added to allow updating of Intel IA32 microcode,
accessible as a normal (misc) character device.  If you are not using
accessible as a normal (misc) character device.  If you are not using
udev you may need to:
udev you may need to::


  mkdir /dev/cpu
  mkdir /dev/cpu
  mknod /dev/cpu/microcode c 10 184
  mknod /dev/cpu/microcode c 10 184
@@ -209,8 +223,9 @@ get the user-space microcode_ctl utility to use with this.


udev
udev
----
----
udev is a userspace application for populating /dev dynamically with

only entries for devices actually present.  udev replaces the basic
``udev`` is a userspace application for populating ``/dev`` dynamically with
only entries for devices actually present. ``udev`` replaces the basic
functionality of devfs, while allowing persistent device naming for
functionality of devfs, while allowing persistent device naming for
devices.
devices.


@@ -218,10 +233,10 @@ FUSE
----
----


Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
options 'direct_io' and 'kernel_cache' won't work.
options ``direct_io`` and ``kernel_cache`` won't work.


Networking
Networking
==========
**********


General changes
General changes
---------------
---------------
@@ -243,7 +258,7 @@ enable it to operate over diverse media layers. If you use PPP,
upgrade pppd to at least 2.4.0.
upgrade pppd to at least 2.4.0.


If you are not using udev, you must have the device file /dev/ppp
If you are not using udev, you must have the device file /dev/ppp
which can be made by:
which can be made by::


  mknod /dev/ppp c 108 0
  mknod /dev/ppp c 108 0


@@ -260,22 +275,22 @@ NFS-utils


In ancient (2.4 and earlier) kernels, the nfs server needed to know
In ancient (2.4 and earlier) kernels, the nfs server needed to know
about any client that expected to be able to access files via NFS.  This
about any client that expected to be able to access files via NFS.  This
information would be given to the kernel by "mountd" when the client
information would be given to the kernel by ``mountd`` when the client
mounted the filesystem, or by "exportfs" at system startup.  exportfs
mounted the filesystem, or by ``exportfs`` at system startup.  exportfs
would take information about active clients from /var/lib/nfs/rmtab.
would take information about active clients from ``/var/lib/nfs/rmtab``.


This approach is quite fragile as it depends on rmtab being correct
This approach is quite fragile as it depends on rmtab being correct
which is not always easy, particularly when trying to implement
which is not always easy, particularly when trying to implement
fail-over.  Even when the system is working well, rmtab suffers from
fail-over.  Even when the system is working well, ``rmtab`` suffers from
getting lots of old entries that never get removed.
getting lots of old entries that never get removed.


With modern kernels we have the option of having the kernel tell mountd
With modern kernels we have the option of having the kernel tell mountd
when it gets a request from an unknown host, and mountd can give
when it gets a request from an unknown host, and mountd can give
appropriate export information to the kernel.  This removes the
appropriate export information to the kernel.  This removes the
dependency on rmtab and means that the kernel only needs to know about
dependency on ``rmtab`` and means that the kernel only needs to know about
currently active clients.
currently active clients.


To enable this new functionality, you need to:
To enable this new functionality, you need to::


  mount -t nfsd nfsd /proc/fs/nfsd
  mount -t nfsd nfsd /proc/fs/nfsd


@@ -287,8 +302,32 @@ mcelog
------
------


On x86 kernels the mcelog utility is needed to process and log machine check
On x86 kernels the mcelog utility is needed to process and log machine check
events when CONFIG_X86_MCE is enabled. Machine check events are errors reported
events when ``CONFIG_X86_MCE`` is enabled. Machine check events are errors
by the CPU. Processing them is strongly encouraged.
reported by the CPU. Processing them is strongly encouraged.

Kernel documentation
********************

Sphinx
------

The ReST markups currently used by the Documentation/ files are meant to be
built with ``Sphinx`` version 1.2 or upper. If you're desiring to build
PDF outputs, it is recommended to use version 1.4.6.

.. note::

  Please notice that, for PDF and LaTeX output, you'll also need ``XeLaTeX``
  version 3.14159265. Depending on the distribution, you may also need
  to install a series of ``texlive`` packages that provide the minimal
  set of functionalities required for ``XeLaTex`` to work.

Other tools
-----------

In order to produce documentation from DocBook, you'll also need ``xmlto``.
Please notice, however, that we're currently migrating all documents to use
``Sphinx``.


Getting updated software
Getting updated software
========================
========================
@@ -298,114 +337,149 @@ Kernel compilation


gcc
gcc
---
---
o  <ftp://ftp.gnu.org/gnu/gcc/>

- <ftp://ftp.gnu.org/gnu/gcc/>


Make
Make
----
----
o  <ftp://ftp.gnu.org/gnu/make/>

- <ftp://ftp.gnu.org/gnu/make/>


Binutils
Binutils
--------
--------
o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>

- <ftp://ftp.kernel.org/pub/linux/devel/binutils/>


OpenSSL
OpenSSL
-------
-------
o  <https://www.openssl.org/>

- <https://www.openssl.org/>


System utilities
System utilities
****************
****************


Util-linux
Util-linux
----------
----------
o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>

- <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>


Ksymoops
Ksymoops
--------
--------
o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>

- <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>


Module-Init-Tools
Module-Init-Tools
-----------------
-----------------
o  <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>

- <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>


Mkinitrd
Mkinitrd
--------
--------
o  <https://code.launchpad.net/initrd-tools/main>

- <https://code.launchpad.net/initrd-tools/main>


E2fsprogs
E2fsprogs
---------
---------
o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>

- <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>


JFSutils
JFSutils
--------
--------
o  <http://jfs.sourceforge.net/>

- <http://jfs.sourceforge.net/>


Reiserfsprogs
Reiserfsprogs
-------------
-------------
o  <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>

- <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>


Xfsprogs
Xfsprogs
--------
--------
o  <ftp://oss.sgi.com/projects/xfs/>

- <ftp://oss.sgi.com/projects/xfs/>


Pcmciautils
Pcmciautils
-----------
-----------
o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>

- <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>


Quota-tools
Quota-tools
----------
-----------
o  <http://sourceforge.net/projects/linuxquota/>

- <http://sourceforge.net/projects/linuxquota/>


DocBook Stylesheets
DocBook Stylesheets
-------------------
-------------------
o  <http://sourceforge.net/projects/docbook/files/docbook-dsssl/>

- <http://sourceforge.net/projects/docbook/files/docbook-dsssl/>


XMLTO XSLT Frontend
XMLTO XSLT Frontend
-------------------
-------------------
o  <http://cyberelk.net/tim/xmlto/>

- <http://cyberelk.net/tim/xmlto/>


Intel P6 microcode
Intel P6 microcode
------------------
------------------
o  <https://downloadcenter.intel.com/>

- <https://downloadcenter.intel.com/>


udev
udev
----
----
o <http://www.freedesktop.org/software/systemd/man/udev.html>

- <http://www.freedesktop.org/software/systemd/man/udev.html>


FUSE
FUSE
----
----
o <http://sourceforge.net/projects/fuse>

- <http://sourceforge.net/projects/fuse>


mcelog
mcelog
------
------
o <http://www.mcelog.org/>

- <http://www.mcelog.org/>


Networking
Networking
**********
**********


PPP
PPP
---
---
o  <ftp://ftp.samba.org/pub/ppp/>

- <ftp://ftp.samba.org/pub/ppp/>


Isdn4k-utils
Isdn4k-utils
------------
------------
o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>

- <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>


NFS-utils
NFS-utils
---------
---------
o  <http://sourceforge.net/project/showfiles.php?group_id=14>

- <http://sourceforge.net/project/showfiles.php?group_id=14>


Iptables
Iptables
--------
--------
o  <http://www.iptables.org/downloads.html>

- <http://www.iptables.org/downloads.html>


Ip-route2
Ip-route2
---------
---------
o  <https://www.kernel.org/pub/linux/utils/net/iproute2/>

- <https://www.kernel.org/pub/linux/utils/net/iproute2/>


OProfile
OProfile
--------
--------
o  <http://oprofile.sf.net/download/>

- <http://oprofile.sf.net/download/>


NFS-Utils
NFS-Utils
---------
---------
o  <http://nfs.sourceforge.net/>

- <http://nfs.sourceforge.net/>

Kernel documentation
********************

Sphinx
------

- <http://www.sphinx-doc.org/>
+1 −1
Original line number Original line Diff line number Diff line
@@ -19,7 +19,7 @@ please contact the Linux Foundation's Technical Advisory Board at
will work to resolve the issue to the best of their ability.  For more
will work to resolve the issue to the best of their ability.  For more
information on who is on the Technical Advisory Board and what their
information on who is on the Technical Advisory Board and what their
role is, please see:
role is, please see:
	http://www.linuxfoundation.org/programs/advisory-councils/tab
	http://www.linuxfoundation.org/projects/linux/tab


As a reviewer of code, please strive to keep things civil and focused on
As a reviewer of code, please strive to keep things civil and focused on
the technical issues involved.  We are all humans, and frustrations can
the technical issues involved.  We are all humans, and frustrations can
+260 −144

File changed.

Preview size limit exceeded, changes collapsed.

+3 −5
Original line number Original line Diff line number Diff line
@@ -699,7 +699,7 @@ to use the dma_sync_*() interfaces.
		dma_addr_t mapping;
		dma_addr_t mapping;


		mapping = dma_map_single(cp->dev, buffer, len, DMA_FROM_DEVICE);
		mapping = dma_map_single(cp->dev, buffer, len, DMA_FROM_DEVICE);
		if (dma_mapping_error(cp->dev, dma_handle)) {
		if (dma_mapping_error(cp->dev, mapping)) {
			/*
			/*
			 * reduce current DMA mapping usage,
			 * reduce current DMA mapping usage,
			 * delay and try again later or
			 * delay and try again later or
@@ -931,10 +931,8 @@ to "Closing".


1) Struct scatterlist requirements.
1) Struct scatterlist requirements.


   Don't invent the architecture specific struct scatterlist; just use
   You need to enable CONFIG_NEED_SG_DMA_LENGTH if the architecture
   <asm-generic/scatterlist.h>. You need to enable
   supports IOMMUs (including software IOMMU).
   CONFIG_NEED_SG_DMA_LENGTH if the architecture supports IOMMUs
   (including software IOMMU).


2) ARCH_DMA_MINALIGN
2) ARCH_DMA_MINALIGN


+9 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@
# To add a new book the only step required is to add the book to the
# To add a new book the only step required is to add the book to the
# list of DOCBOOKS.
# list of DOCBOOKS.


DOCBOOKS := z8530book.xml device-drivers.xml \
DOCBOOKS := z8530book.xml  \
	    kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
	    kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
	    writing_usb_driver.xml networking.xml \
	    writing_usb_driver.xml networking.xml \
	    kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
	    kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
@@ -22,9 +22,15 @@ ifeq ($(DOCBOOKS),)
# Skip DocBook build if the user explicitly requested no DOCBOOKS.
# Skip DocBook build if the user explicitly requested no DOCBOOKS.
.DEFAULT:
.DEFAULT:
	@echo "  SKIP    DocBook $@ target (DOCBOOKS=\"\" specified)."
	@echo "  SKIP    DocBook $@ target (DOCBOOKS=\"\" specified)."
else
ifneq ($(SPHINXDIRS),)


# Skip DocBook build if the user explicitly requested a sphinx dir
.DEFAULT:
	@echo "  SKIP    DocBook $@ target (SPHINXDIRS specified)."
else
else



###
###
# The build process is as follows (targets):
# The build process is as follows (targets):
#              (xmldocs) [by docproc]
#              (xmldocs) [by docproc]
@@ -66,6 +72,7 @@ installmandocs: mandocs


# no-op for the DocBook toolchain
# no-op for the DocBook toolchain
epubdocs:
epubdocs:
latexdocs:


###
###
#External programs used
#External programs used
@@ -221,6 +228,7 @@ silent_gen_xml = :
	   echo "</programlisting>")  > $@
	   echo "</programlisting>")  > $@


endif # DOCBOOKS=""
endif # DOCBOOKS=""
endif # SPHINDIR=...


###
###
# Help targets as used by the top-level makefile
# Help targets as used by the top-level makefile
Loading