mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-29 01:22:13 +00:00
4a50f64614
Make it possible to select sphinx doc generator instead of asciidoc so we don't have two makefiles for that. It's still a bit crude and does not support installing the files. The required package is python-Sphinx (or similar name), built by 'sphinx-build'. Configure: $ ASCIIDOC_TOOL=sphinx ./configure ... doc generator: sphinx ... Generate: $ cd Documentation/ $ make man $ make html $ make info # yes we can have info pages too There are several more targets provided by sphinx, run 'make' to list them. Signed-off-by: David Sterba <dsterba@suse.com>
161 lines
4.3 KiB
Makefile
161 lines
4.3 KiB
Makefile
ifeq (@ASCIIDOC_TOOL@,sphinx)
|
|
$(info "sphinx build, rst")
|
|
|
|
# Minimal makefile for Sphinx documentation
|
|
#
|
|
|
|
# You can set these variables from the command line, and also
|
|
# from the environment for the first two.
|
|
SPHINXOPTS ?=
|
|
SPHINXBUILD ?= sphinx-build
|
|
SOURCEDIR = .
|
|
BUILDDIR = _build
|
|
|
|
# Put it first so that "make" without argument is like "make help".
|
|
help:
|
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
.PHONY: help Makefile Makefile.in
|
|
|
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
%: Makefile Makefile.in
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
else
|
|
|
|
# Guard against environment variables
|
|
MAN8_TXT =
|
|
|
|
# Top level commands
|
|
MAN8_TXT += btrfs.asciidoc
|
|
MAN8_TXT += btrfs-convert.asciidoc
|
|
MAN8_TXT += btrfs-find-root.asciidoc
|
|
MAN8_TXT += btrfs-image.asciidoc
|
|
MAN8_TXT += btrfs-map-logical.asciidoc
|
|
MAN8_TXT += btrfs-select-super.asciidoc
|
|
MAN8_TXT += btrfstune.asciidoc
|
|
MAN8_TXT += fsck.btrfs.asciidoc
|
|
MAN8_TXT += mkfs.btrfs.asciidoc
|
|
|
|
# Sub commands for btrfs
|
|
MAN8_TXT += btrfs-subvolume.asciidoc
|
|
MAN8_TXT += btrfs-filesystem.asciidoc
|
|
MAN8_TXT += btrfs-balance.asciidoc
|
|
MAN8_TXT += btrfs-device.asciidoc
|
|
MAN8_TXT += btrfs-scrub.asciidoc
|
|
MAN8_TXT += btrfs-check.asciidoc
|
|
MAN8_TXT += btrfs-rescue.asciidoc
|
|
MAN8_TXT += btrfs-inspect-internal.asciidoc
|
|
MAN8_TXT += btrfs-send.asciidoc
|
|
MAN8_TXT += btrfs-receive.asciidoc
|
|
MAN8_TXT += btrfs-quota.asciidoc
|
|
MAN8_TXT += btrfs-qgroup.asciidoc
|
|
MAN8_TXT += btrfs-replace.asciidoc
|
|
MAN8_TXT += btrfs-restore.asciidoc
|
|
MAN8_TXT += btrfs-property.asciidoc
|
|
|
|
# Category 5 manual page
|
|
MAN5_TXT += btrfs-man5.asciidoc
|
|
|
|
MAN3_TXT += btrfs-ioctl.asciidoc
|
|
|
|
MAN_TXT = $(MAN3_TXT) $(MAN8_TXT) $(MAN5_TXT)
|
|
MAN_XML = $(patsubst %.asciidoc,%.xml,$(MAN_TXT))
|
|
MAN_HTML = $(patsubst %.asciidoc,%.html,$(MAN_TXT))
|
|
MAN3 = $(patsubst %.asciidoc,%.3,$(MAN3_TXT))
|
|
MAN5 = $(patsubst %.asciidoc,%.5,$(MAN5_TXT))
|
|
MAN8 = $(patsubst %.asciidoc,%.8,$(MAN8_TXT))
|
|
|
|
mandir ?= $(prefix)/share/man
|
|
man3dir = $(mandir)/man3
|
|
man5dir = $(mandir)/man5
|
|
man8dir = $(mandir)/man8
|
|
|
|
XMLTO = @XMLTO@
|
|
XMLTO_EXTRA = -m manpage-bold-literal.xsl
|
|
|
|
ifeq (@ASCIIDOC_TOOL@,asciidoc)
|
|
ASCIIDOC = @ASCIIDOC@
|
|
ASCIIDOC_ARGS = -abtrfs_version=$(BTRFS_VERSION) -f asciidoc.conf
|
|
ASCIIDOC_HTML = html
|
|
ASCIIDOC_DOCBOOK = docbook
|
|
ASCIIDOC_DEPS = asciidoc.conf
|
|
endif
|
|
ifeq (@ASCIIDOC_TOOL@,asciidoctor)
|
|
ASCIIDOC = @ASCIIDOCTOR@
|
|
ASCIIDOC_ARGS = -abtrfs_version=$(BTRFS_VERSION)
|
|
ASCIIDOC_HTML = xhtml5
|
|
ASCIIDOC_DOCBOOK = docbook5
|
|
XMLTO_EXTRA += --skip-validation
|
|
ASCIIDOC_DEPS =
|
|
endif
|
|
|
|
MANPAGE_XSL = manpage-normal.xsl
|
|
INSTALL = @INSTALL@
|
|
RM = @RM@
|
|
RMDIR = @RMDIR@
|
|
LN_S = @LN_S@
|
|
MV = @MV@
|
|
SED = @SED@
|
|
BTRFS_VERSION = $(shell $(SED) -n 's/.*PACKAGE_VERSION "\(.*\)"/\1/p'\
|
|
../config.h)
|
|
|
|
ifneq ($(findstring $(MAKEFLAGS),s),s)
|
|
ifndef V
|
|
QUIET_RM = @
|
|
QUIET_ASCIIDOC = @echo " [ASCII] $@";
|
|
QUIET_XMLTO = @echo " [XMLTO] $@";
|
|
endif
|
|
endif
|
|
|
|
all: man
|
|
man: man3 man5 man8
|
|
man3: $(MAN3)
|
|
man5: $(MAN5)
|
|
man8: $(MAN8)
|
|
html: $(MAN_HTML)
|
|
|
|
install: install-man
|
|
|
|
install-man: man
|
|
$(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
|
|
$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
|
|
$(INSTALL) -m 644 $(MAN5) $(DESTDIR)$(man5dir)
|
|
# the source file name of btrfs.5 clashes with section 8 page, but we
|
|
# want to keep the code generic
|
|
$(MV) $(DESTDIR)$(man5dir)/btrfs-man5.5 $(DESTDIR)$(man5dir)/btrfs.5
|
|
$(INSTALL) -m 644 $(MAN8) $(DESTDIR)$(man8dir)
|
|
$(INSTALL) -m 644 btrfsck.8 $(DESTDIR)$(man8dir)
|
|
|
|
uninstall:
|
|
cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8 $(MAN8)
|
|
$(RMDIR) -p --ignore-fail-on-non-empty $(DESTDIR)$(man8dir)
|
|
|
|
clean:
|
|
$(QUIET_RM)$(RM) -f $(MAN_XML) *.xml+ $(MAN3) $(MAN5) $(MAN8) $(MAN_HTML)
|
|
|
|
%.3 : %.xml
|
|
$(QUIET_XMLTO)$(RM) -f $@ && \
|
|
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
|
|
|
%.5 : %.xml
|
|
$(QUIET_XMLTO)$(RM) -f $@ && \
|
|
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
|
|
|
%.8 : %.xml
|
|
$(QUIET_XMLTO)$(RM) -f $@ && \
|
|
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
|
|
|
%.xml : %.asciidoc $(ASCIIDOC_DEPS)
|
|
$(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
|
|
$(ASCIIDOC) $(ASCIIDOC_ARGS) -b $(ASCIIDOC_DOCBOOK) -d manpage -o $@+ $< && \
|
|
$(MV) $@+ $@
|
|
|
|
%.html : %.asciidoc $(ASCIIDOC_DEPS)
|
|
$(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
|
|
$(ASCIIDOC) $(ASCIIDOC_ARGS) -b $(ASCIIDOC_HTML) -d article -o $@+ $< && \
|
|
$(MV) $@+ $@
|
|
|
|
endif
|