Merge branch 'maint'
[pacman-ng.git] / doc / Makefile.am
bloba2018c71a5849929ed584445421c54bce1106248
1 # We have to do some funny stuff here with the manpages. In order to ensure
2 # a dist tarball doesn't get put out there without manpages, we keep those
3 # files listed in EXTRA_DIST no matter what. However, we only add them to
4 # man_MANS if --enable-asciidoc and/or --enable-doxygen are used.
6 ASCIIDOC_MANS = \
7         pacman.8 \
8         makepkg.8 \
9         repo-add.8 \
10         vercmp.8 \
11         pkgdelta.8 \
12         pacman-key.8 \
13         PKGBUILD.5 \
14         makepkg.conf.5 \
15         pacman.conf.5 \
16         libalpm.3
18 DOXYGEN_MANS = $(wildcard man3/*.3)
20 HTML_MANPAGES = \
21         pacman.8.html \
22         makepkg.8.html \
23         repo-add.8.html \
24         vercmp.8.html \
25         pkgdelta.8.html \
26         pacman-key.8.html \
27         PKGBUILD.5.html \
28         makepkg.conf.5.html \
29         pacman.conf.5.html \
30         libalpm.3.html
32 HTML_OTHER = \
33         index.html \
34         submitting-patches.html \
35         translation-help.html \
36         HACKING.html
38 HTML_DOCS = \
39         $(HTML_MANPAGES) \
40         $(HTML_OTHER)
42 EXTRA_DIST = \
43         asciidoc.conf \
44         asciidoc-override.css \
45         pacman.8.txt \
46         makepkg.8.txt \
47         repo-add.8.txt \
48         vercmp.8.txt \
49         pkgdelta.8.txt \
50         pacman-key.8.txt \
51         PKGBUILD.5.txt \
52         PKGBUILD-example.txt \
53         makepkg.conf.5.txt \
54         pacman.conf.5.txt \
55         libalpm.3.txt \
56         footer.txt \
57         index.txt \
58         submitting-patches.txt \
59         translation-help.txt \
60         Doxyfile \
61         $(ASCIIDOC_MANS) \
62         $(DOXYGEN_MANS)
64 # Files that should be removed, but which Automake does not know.
65 MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) repo-remove.8 website.tar.gz
67 # Ensure manpages are fresh when building a dist tarball
68 dist-hook:
69         $(MAKE) $(AM_MAKEFLAGS) clean
70         $(MAKE) $(AM_MAKEFLAGS) all
72 if USE_GIT_VERSION
73 GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
74 REAL_PACKAGE_VERSION = $(GIT_VERSION)
75 else
76 REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
77 endif
79 man_MANS =
80 dist_man_MANS = $(ASCIIDOC_MANS)
82 if USE_DOXYGEN
83 man_MANS += $(DOXYGEN_MANS)
85 all-local: doxygen.in
87 doxygen.in:
88         $(DOXYGEN) $(srcdir)/Doxyfile
89 endif
91 html: $(HTML_DOCS)
93 website: website.tar.gz
95 website.tar.gz: html
96         $(AM_V_GEN)bsdtar czf $@ $(HTML_DOCS) \
97                 asciidoc-override.css \
98                 -C /etc/asciidoc/stylesheets/ \
99                 asciidoc.css \
100                 -C /etc/asciidoc/javascripts/ \
101                 asciidoc.js \
102                 -C /etc/asciidoc/ \
103                 images
105 pkgdatadir = ${datadir}/${PACKAGE}
107 ASCIIDOC_OPTS = \
108         -f $(srcdir)/asciidoc.conf \
109         -a pacman_version="$(REAL_PACKAGE_VERSION)" \
110         -a pacman_date="`date +%Y-%m-%d`" \
111         -a pkgdatadir=$(pkgdatadir) \
112         -a localstatedir=$(localstatedir) \
113         -a sysconfdir=$(sysconfdir)
115 A2X_OPTS = \
116         --no-xmllint \
117         -d manpage \
118         -f manpage \
119         --xsltproc-opts='-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0' \
120         --destination-dir='./'
122 # These rules are due to the includes and files of the asciidoc text
123 $(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile.am
124         $(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
126 %.html: %.txt
127         $(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.txt | \
128                 sed -e 's/\r$$//' > $@
130 HACKING.html: ../HACKING
131         $(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - ../HACKING | \
132                 sed -e 's/\r$$//' > $@
134 # Customizations for certain HTML docs
135 $(HTML_MANPAGES): asciidoc.conf footer.txt Makefile.am
136 $(HTML_OTHER): asciidoc.conf Makefile.am
137 %.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons -a max-width=960px -a stylesheet=asciidoc-override.css
138 %.8.html: ASCIIDOC_OPTS += -d manpage
139 %.5.html: ASCIIDOC_OPTS += -d manpage
140 %.3.html: ASCIIDOC_OPTS += -d manpage
142 # Dependency rules
143 pacman.8 pacman.8.html: pacman.8.txt
144 makepkg.8 makepkg.8.html: makepkg.8.txt
145 repo-add.8 repo-add.8.html: repo-add.8.txt
146 vercmp.8 vercmp.8.html: vercmp.8.txt
147 pkgdelta.8 pkgdelta.8.html: pkgdelta.8.txt
148 pacman-key.8 pacman-key.8.html: pacman-key.8.txt
149 PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt
150 makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt
151 pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt
152 libalpm.3 libalpm.3.html: libalpm.3.txt
153 # this one is just a symlink
154 repo-remove.8: repo-add.8
155         $(RM) repo-remove.8
156         $(LN_S) repo-add.8 repo-remove.8
158 install-data-hook:
159         cd $(DESTDIR)$(mandir)/man8 && \
160                 $(RM) repo-remove.8 && \
161                 ( $(LN_S) repo-add.8 repo-remove.8 || \
162                 ln repo-add.8 repo-remove.8 || \
163                 cp repo-add.8 repo-remove.8 )
165 uninstall-hook:
166         $(RM) $(DESTDIR)$(mandir)/man8/repo-remove.8
168 # vim:set ts=2 sw=2 noet: