1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-09-19 10:50:24 -04:00
nix/doc/manual/local.mk

85 lines
2.6 KiB
Makefile
Raw Normal View History

ifeq ($(doc_generate),yes)
2014-02-01 05:30:21 -05:00
XSLTPROC = $(xsltproc) --nonet $(xmlflags) \
--param section.autolabel 1 \
--param section.label.includes.component.label 1 \
--param xref.with.number.and.title 1 \
--param toc.section.depth 3 \
--param admon.style \'\' \
2020-03-13 11:32:43 -04:00
--param callout.graphics 0 \
2014-09-16 09:37:38 -04:00
--param contrib.inline.enabled 0 \
2014-12-13 19:22:57 -05:00
--stringparam generate.toc "book toc" \
--param keep.relative.image.uris 0
2014-02-01 05:30:21 -05:00
docbookxsl = http://docbook.sourceforge.net/release/xsl-ns/current
2014-12-11 04:44:02 -05:00
docbookrng = http://docbook.org/xml/5.0/rng/docbook.rng
2014-09-16 08:14:09 -04:00
MANUAL_SRCS := $(call rwildcard, $(d), *.xml)
2014-02-01 05:30:21 -05:00
# Do XInclude processing / RelaxNG validation
$(d)/manual.xmli: $(d)/manual.xml $(MANUAL_SRCS) $(d)/version.txt
$(trace-gen) $(xmllint) --nonet --xinclude $< -o $@.tmp
@mv $@.tmp $@
$(d)/version.txt:
$(trace-gen) echo -n $(PACKAGE_VERSION) > $@
# Note: RelaxNG validation requires xmllint >= 2.7.4.
$(d)/manual.is-valid: $(d)/manual.xmli
$(trace-gen) $(XSLTPROC) --novalid --stringparam profile.condition manual \
$(docbookxsl)/profiling/profile.xsl $< 2> /dev/null | \
$(xmllint) --nonet --noout --relaxng $(docbookrng) -
2014-02-01 05:30:21 -05:00
@touch $@
2014-02-01 06:23:14 -05:00
clean-files += $(d)/manual.xmli $(d)/version.txt $(d)/manual.is-valid
2014-02-01 05:30:21 -05:00
2014-02-01 09:18:48 -05:00
dist-files += $(d)/manual.xmli $(d)/version.txt $(d)/manual.is-valid
2014-02-01 08:28:31 -05:00
2014-02-01 05:30:21 -05:00
# Generate man pages.
man-pages := $(foreach n, \
nix-env.1 nix-build.1 nix-shell.1 nix-store.1 nix-instantiate.1 \
nix-collect-garbage.1 \
nix-prefetch-url.1 nix-channel.1 \
2016-08-10 08:20:51 -04:00
nix-hash.1 nix-copy-closure.1 \
2014-02-01 05:30:21 -05:00
nix.conf.5 nix-daemon.8, \
$(d)/$(n))
2014-09-16 09:29:55 -04:00
$(firstword $(man-pages)): $(d)/manual.xmli $(d)/manual.is-valid
$(trace-gen) $(XSLTPROC) --novalid --stringparam profile.condition manpage \
2014-02-01 05:30:21 -05:00
$(docbookxsl)/profiling/profile.xsl $< 2> /dev/null | \
(cd doc/manual && $(XSLTPROC) $(docbookxsl)/manpages/docbook.xsl -)
2014-09-16 09:29:55 -04:00
$(wordlist 2, $(words $(man-pages)), $(man-pages)): $(firstword $(man-pages))
2014-02-01 06:23:14 -05:00
clean-files += $(d)/*.1 $(d)/*.5 $(d)/*.8
2014-02-01 05:30:21 -05:00
dist-files += $(man-pages)
2014-02-01 09:18:48 -05:00
2014-02-01 05:30:21 -05:00
# Generate the HTML manual.
$(d)/manual.html: $(d)/manual.xml $(MANUAL_SRCS) $(d)/manual.is-valid
$(trace-gen) $(XSLTPROC) --xinclude --stringparam profile.condition manual \
$(docbookxsl)/profiling/profile.xsl $< | \
2014-07-03 06:36:58 -04:00
$(XSLTPROC) --output $@ $(docbookxsl)/xhtml/docbook.xsl -
2014-02-01 05:30:21 -05:00
$(foreach file, $(d)/manual.html, $(eval $(call install-data-in, $(file), $(docdir)/manual)))
2014-02-01 05:30:21 -05:00
$(foreach file, $(wildcard $(d)/figures/*.png), $(eval $(call install-data-in, $(file), $(docdir)/manual/figures)))
$(eval $(call install-symlink, manual.html, $(docdir)/manual/index.html))
2014-02-01 05:30:21 -05:00
all: $(d)/manual.html
2014-02-01 06:23:14 -05:00
clean-files += $(d)/manual.html
2014-02-01 05:30:21 -05:00
2014-02-01 08:28:31 -05:00
dist-files += $(d)/manual.html
endif