Build/install manual
This commit is contained in:
parent
e0234dfddc
commit
ac8c2ef1aa
4
Makefile
4
Makefile
|
@ -14,7 +14,9 @@ SUBS = \
|
||||||
perl/local.mk \
|
perl/local.mk \
|
||||||
scripts/local.mk \
|
scripts/local.mk \
|
||||||
corepkgs/local.mk \
|
corepkgs/local.mk \
|
||||||
tests/local.mk \
|
misc/emacs/local.mk \
|
||||||
|
doc/manual/local.mk \
|
||||||
|
tests/local.mk
|
||||||
|
|
||||||
GLOBAL_CXXFLAGS = -I . -I src -I src/libutil -I src/libstore -I src/libmain -I src/libexpr
|
GLOBAL_CXXFLAGS = -I . -I src -I src/libutil -I src/libstore -I src/libmain -I src/libexpr
|
||||||
|
|
||||||
|
|
|
@ -12,10 +12,15 @@ bindir = @bindir@
|
||||||
bsddiff_compat_include = @bsddiff_compat_include@
|
bsddiff_compat_include = @bsddiff_compat_include@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
|
dblatex = @dblatex@
|
||||||
|
docbookrng = @docbookrng@
|
||||||
|
docbookxsl = @docbookxsl@
|
||||||
|
docdir = @docdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
libdir = @libdir@
|
libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
localstatedir = @localstatedir@
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
perl = @perl@
|
perl = @perl@
|
||||||
perlbindings = @perlbindings@
|
perlbindings = @perlbindings@
|
||||||
perllibdir = @perllibdir@
|
perllibdir = @perllibdir@
|
||||||
|
@ -23,3 +28,5 @@ pkglibdir = $(libdir)/$(PACKAGE_NAME)
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
storedir = @storedir@
|
storedir = @storedir@
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
|
xmllint = @xmllint@
|
||||||
|
xsltproc = @xsltproc@
|
||||||
|
|
|
@ -203,12 +203,6 @@ AC_ARG_WITH(docbook-xsl, AC_HELP_STRING([--with-docbook-xsl=PATH],
|
||||||
AC_SUBST(docbookxsl)
|
AC_SUBST(docbookxsl)
|
||||||
|
|
||||||
|
|
||||||
AC_ARG_WITH(xml-flags, AC_HELP_STRING([--with-xml-flags=FLAGS],
|
|
||||||
[extra flags to be passed to xmllint and xsltproc]),
|
|
||||||
xmlflags=$withval, xmlflags=)
|
|
||||||
AC_SUBST(xmlflags)
|
|
||||||
|
|
||||||
|
|
||||||
AC_ARG_WITH(store-dir, AC_HELP_STRING([--with-store-dir=PATH],
|
AC_ARG_WITH(store-dir, AC_HELP_STRING([--with-store-dir=PATH],
|
||||||
[path of the Nix store (defaults to /nix/store)]),
|
[path of the Nix store (defaults to /nix/store)]),
|
||||||
storedir=$withval, storedir='/nix/store')
|
storedir=$withval, storedir='/nix/store')
|
||||||
|
|
79
doc/manual/local.mk
Normal file
79
doc/manual/local.mk
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
XSLTPROC = $(xsltproc) --nonet $(xmlflags) \
|
||||||
|
--param section.autolabel 1 \
|
||||||
|
--param section.label.includes.component.label 1 \
|
||||||
|
--param html.stylesheet \'style.css\' \
|
||||||
|
--param xref.with.number.and.title 1 \
|
||||||
|
--param toc.section.depth 3 \
|
||||||
|
--param admon.style \'\' \
|
||||||
|
--param callout.graphics.extension \'.gif\' \
|
||||||
|
--param contrib.inline.enabled 0
|
||||||
|
|
||||||
|
MANUAL_SRCS := $(wildcard $(d)/*.xml)
|
||||||
|
|
||||||
|
|
||||||
|
# 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)/docbook.rng -
|
||||||
|
@touch $@
|
||||||
|
|
||||||
|
clean_files += $(d)/manual.xmli $(d)/version.txt $(d)/manual.is-valid
|
||||||
|
|
||||||
|
|
||||||
|
# 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-push.1 nix-pull.1 \
|
||||||
|
nix-prefetch-url.1 nix-channel.1 \
|
||||||
|
nix-install-package.1 nix-hash.1 nix-copy-closure.1 \
|
||||||
|
nix.conf.5 nix-daemon.8, \
|
||||||
|
$(d)/$(n))
|
||||||
|
|
||||||
|
$(man-pages): $(d)/manual.xmli $(d)/manual.is-valid
|
||||||
|
$(trace-gen) $(XSLTPROC) --stringparam profile.condition manpage \
|
||||||
|
$(docbookxsl)/profiling/profile.xsl $< 2> /dev/null | \
|
||||||
|
(cd doc/manual && $(XSLTPROC) $(docbookxsl)/manpages/docbook.xsl -)
|
||||||
|
|
||||||
|
clean_files += $(d)/*.1 $(d)/*.5 $(d)/*.8
|
||||||
|
|
||||||
|
|
||||||
|
# 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 $< | \
|
||||||
|
$(XSLTPROC) --output $@ $(docbookxsl)/html/docbook.xsl -
|
||||||
|
|
||||||
|
$(foreach file, $(d)/manual.html $(d)/style.css, $(eval $(call install-data-in, $(file), $(docdir)/manual)))
|
||||||
|
|
||||||
|
$(foreach file, $(wildcard $(d)/figures/*.png), $(eval $(call install-data-in, $(file), $(docdir)/manual/figures)))
|
||||||
|
|
||||||
|
$(foreach file, $(wildcard $(docbookxsl)/images/callouts/*.gif), $(eval $(call install-data-in, $(file), $(docdir)/manual/images/callouts)))
|
||||||
|
|
||||||
|
$(eval $(call install-symlink, manual.html, $(docdir)/manual/index.html))
|
||||||
|
|
||||||
|
all: $(d)/manual.html
|
||||||
|
|
||||||
|
clean_files += $(d)/manual.html
|
||||||
|
|
||||||
|
|
||||||
|
# Generate the PDF manual.
|
||||||
|
$(d)/manual.pdf: $(d)/manual.xml $(MANUAL_SRCS) $(d)/manual.is-valid
|
||||||
|
$(trace-gen) if test "$(dblatex)" != ""; then \
|
||||||
|
cd doc/manual && $(XSLTPROC) --xinclude --stringparam profile.condition manual \
|
||||||
|
$(docbookxsl)/profiling/profile.xsl manual.xml | \
|
||||||
|
$(dblatex) -o manual.pdf $(dblatex_opts) -; \
|
||||||
|
else \
|
||||||
|
echo "Please install dblatex and rerun configure."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
clean_files += $(d)/manual.pdf
|
1
misc/emacs/local.mk
Normal file
1
misc/emacs/local.mk
Normal file
|
@ -0,0 +1 @@
|
||||||
|
$(eval $(call install-data-in,$(d)/nix-mode.el,$(datadir)/emacs/site-lisp))
|
Loading…
Reference in a new issue