about summary refs log tree commit diff
path: root/doc/manual/Makefile.am
blob: 1e490e8ffcd13815bdcb7ce064563aaa327fe12c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
XMLLINT = $(xmllint) $(xmlflags)
XSLTPROC = $(xsltproc) $(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 \'\'

man1_MANS = nix-env.1 nix-build.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-pack-closure.1 nix-unpack-closure.1 \
 nix-install-package.1 nix-hash.1

FIGURES = figures/user-environments.png

MANUAL_SRCS = manual.xml introduction.xml installation.xml \
 package-management.xml writing-nix-expressions.xml \
 build-farm.xml \
 $(man1_MANS:.1=.xml) \
 troubleshooting.xml bugs.xml opt-common.xml opt-common-syn.xml \
 env-common.xml quick-start.xml nix-lang-ref.xml glossary.xml \
 conf-file.xml release-notes.xml \
 style.css images

manual.is-valid: $(MANUAL_SRCS) version.txt
#	$(XMLLINT) --xinclude $< | $(XMLLINT) --noout --nonet --relaxng $(docbookrng)/docbook.rng -
	if test "$(jing)" != "false"; then \
		$(XMLLINT) --xinclude $< | $(jing) $(docbookrng)/docbook.rng /dev/stdin; \
	else \
		echo "Not validating."; \
	fi
	touch $@

version.txt:
	echo -n $(VERSION) > version.txt

man $(MANS): $(MANUAL_SRCS) manual.is-valid
	$(XSLTPROC) --nonet --xinclude $(docbookxsl)/manpages/docbook.xsl manual.xml

manual.html: $(MANUAL_SRCS) manual.is-valid images
	$(XSLTPROC) --nonet --xinclude --output manual.html \
	  $(docbookxsl)/html/docbook.xsl manual.xml


NEWS_OPTS = \
 --stringparam generate.toc "article nop" \
 --stringparam section.autolabel.max.depth 0 \
 --stringparam header.rule 0

NEWS.html: release-notes.xml
	$(XSLTPROC) --nonet --xinclude --output $@ $(NEWS_OPTS) \
	  $(docbookxsl)/html/docbook.xsl release-notes.xml

NEWS.txt: release-notes.xml
	$(XSLTPROC) --nonet --xinclude quote-literals.xsl release-notes.xml | \
	  $(XSLTPROC) --nonet --output $@.tmp.html $(NEWS_OPTS) \
	  $(docbookxsl)/html/docbook.xsl -
	LANG=en_US $(w3m) -dump $@.tmp.html > $@
	rm $@.tmp.html


all-local: manual.html NEWS.html NEWS.txt

install-data-local: manual.html
	$(INSTALL) -d $(DESTDIR)$(datadir)/nix/manual
	$(INSTALL_DATA) manual.html $(DESTDIR)$(datadir)/nix/manual
	$(INSTALL_DATA) style.css $(DESTDIR)$(datadir)/nix/manual
	cp -r images $(DESTDIR)$(datadir)/nix/manual/images
	$(INSTALL) -d $(DESTDIR)$(datadir)/nix/manual/figures
	$(INSTALL_DATA) $(FIGURES) $(DESTDIR)$(datadir)/nix/manual/figures

images:
	mkdir images
	cp $(docbookxsl)/images/*.png images
	mkdir images/callouts
	cp $(docbookxsl)/images/callouts/*.png images/callouts
	chmod -R +w images

KEEP = manual.html manual.is-valid version.txt $(MANS) NEWS.html NEWS.txt

EXTRA_DIST = $(MANUAL_SRCS) $(FIGURES) $(KEEP)

DISTCLEANFILES = $(KEEP)