summaryrefslogtreecommitdiff
path: root/doc/Makefile.am
blob: a796a91e7a6707836479e83e86bc991d3689e665 (plain)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# We have to do some funny stuff here with the manpages. In order to ensure
# a dist tarball doesn't get put out there without manpages, we keep those
# files listed in EXTRA_DIST no matter what. However, we only add them to
# man_MANS if --enable-asciidoc and/or --enable-doxygen are used.

ASCIIDOC_MANS \
  pacman.8 \
  makepkg.8 \
  repo-add.8 \
  PKGBUILD.5 \
  makepkg.conf.5 \
  pacman.conf.5 \
  libalpm.3

DOXYGEN_MANS $(wildcard man3/*.3)

HTML_MANPAGES \
  pacman.8.html \
  makepkg.8.html \
  repo-add.8.html \
  PKGBUILD.5.html \
  makepkg.conf.5.html \
  pacman.conf.5.html \
  libalpm.3.html

HTML_OTHER \
  index.html \
  submitting-patches.html \
  translation-help.html

HTML_DOCS \
  $(HTML_MANPAGES) \
  $(HTML_OTHER)

EXTRA_DIST \
  asciidoc.conf \
  pacman.8.txt \
  makepkg.8.txt \
  repo-add.8.txt \
  PKGBUILD.5.txt \
  PKGBUILD-example.txt \
  makepkg.conf.5.txt \
  pacman.conf.5.txt \
  libalpm.3.txt \
  footer.txt \
  index.txt \
  submitting-patches.txt \
  translation-help.txt \
  Doxyfile \
  $(ASCIIDOC_MANS) \
  $(DOXYGEN_MANS)

# Files that should be removed, but which Automake does not know.
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS)

# Ensure manpages are fresh when building a dist tarball
dist-hook:
  $(MAKE) $(AM_MAKEFLAGS) clean
  $(MAKE) $(AM_MAKEFLAGS) all

if USE_GIT_VERSION
GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 | sed s/^v//')-dirty
REAL_PACKAGE_VERSION $(GIT_VERSION)
else
REAL_PACKAGE_VERSION $(PACKAGE_VERSION)
endif

man_MANS =
dist_man_MANS $(ASCIIDOC_MANS) repo-remove.8

if USE_DOXYGEN
man_MANS += $(DOXYGEN_MANS)

all-local: doxygen.in

doxygen.in:
  $(DOXYGEN) $(srcdir)/Doxyfile
endif

html: $(HTML_DOCS)

ASCIIDOC_OPTS \
  -f asciidoc.conf \
  -a pacman_version="$(REAL_PACKAGE_VERSION)\
  -a pacman_date="`date +%Y-%m-%d`\
  -a sysconfdir=$(sysconfdir)
A2X_OPTS \
  --no-xmllint \
  -d manpage \
  -f manpage \
  --xsltproc-opts='-param man.endnotes.list.enabled 0' \
  --xsltproc-opts='-param man.endnotes.are.numbered 0'

# These rules are due to the includes and files of the asciidoc text
$(ASCIIDOC_MANS): asciidoc.conf footer.txt
  a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt

%.html: %.txt
  asciidoc $(ASCIIDOC_OPTS) -a linkcss $*.txt
  dos2unix $@

# Customizations for certain HTML docs
$(HTML_MANPAGES): asciidoc.conf footer.txt
$(HTML_OTHER): asciidoc.conf
%.8.html: ASCIIDOC_OPTS += -d manpage
%.5.html: ASCIIDOC_OPTS += -d manpage
%.3.html: ASCIIDOC_OPTS += -d manpage

# Dependency rules
pacman.8 pacman.8.html: pacman.8.txt
makepkg.8 makepkg.8.html: makepkg.8.txt
repo-add.8 repo-add.8.html: repo-add.8.txt
PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt
makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt
pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt
libalpm.3 libalpm.3.html: libalpm.3.txt
# this one is just a symlink
repo-remove.8: repo-add.8
  rm -f repo-remove.8
  $(LN_S) repo-add.8 repo-remove.8

# vim:set ts=2 sw=2 noet: