chiark / gitweb /
awful debugging hacking
[dpkg] / man / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 man_MANS = \
4         deb-buildinfo.5 \
5         deb-changelog.5 \
6         deb-changes.5 \
7         deb-conffiles.5 \
8         deb-control.5 \
9         deb-src-control.5 \
10         deb-src-files.5 \
11         deb-version.5 \
12         deb-shlibs.5 \
13         deb-split.5 \
14         deb-substvars.5 \
15         deb-symbols.5 \
16         deb-postinst.5 \
17         deb-postrm.5 \
18         deb-preinst.5 \
19         deb-prerm.5 \
20         deb-triggers.5 \
21         deb-old.5 \
22         deb-origin.5 \
23         deb-override.5 \
24         deb-extra-override.5 \
25         deb.5 \
26         deb822.5 \
27         dpkg-architecture.1 \
28         dpkg-buildflags.1 \
29         dpkg-buildpackage.1 \
30         dpkg-checkbuilddeps.1 \
31         dpkg-deb.1 \
32         dpkg-distaddfile.1 \
33         dpkg-divert.1 \
34         dpkg-genbuildinfo.1 \
35         dpkg-genchanges.1 \
36         dpkg-gencontrol.1 \
37         dpkg-gensymbols.1 \
38         dpkg-maintscript-helper.1 \
39         dpkg-mergechangelogs.1 \
40         dpkg-name.1 \
41         dpkg-parsechangelog.1 \
42         dpkg-query.1 \
43         dpkg-scanpackages.1 \
44         dpkg-scansources.1 \
45         dpkg-shlibdeps.1 \
46         dpkg-source.1 \
47         dpkg-split.1 \
48         dpkg-statoverride.1 \
49         dpkg-trigger.1 \
50         dpkg-vendor.1 \
51         dpkg.1 \
52         dpkg.cfg.5 \
53         dsc.5 \
54         $(nil)
55
56 if BUILD_DSELECT
57 man_MANS += \
58         dselect.1 \
59         dselect.cfg.5
60 endif
61
62 if BUILD_START_STOP_DAEMON
63 man_MANS += \
64         start-stop-daemon.8
65 endif
66
67 if BUILD_UPDATE_ALTERNATIVES
68 man_MANS += \
69         update-alternatives.1
70 endif
71
72 CLEANFILES = $(man_MANS)
73
74 EXTRA_DIST = \
75         deb-buildinfo.man \
76         deb-changelog.man \
77         deb-changes.man \
78         deb-conffiles.man \
79         deb-control.man \
80         deb-extra-override.man \
81         deb-old.man \
82         deb-origin.man \
83         deb-override.man \
84         deb-postinst.man \
85         deb-postrm.man \
86         deb-preinst.man \
87         deb-prerm.man \
88         deb-shlibs.man \
89         deb-split.man \
90         deb-src-control.man \
91         deb-src-files.man \
92         deb-substvars.man \
93         deb-symbols.man \
94         deb-triggers.man \
95         deb-version.man \
96         deb.man \
97         deb822.man \
98         dpkg-architecture.man \
99         dpkg-buildflags.man \
100         dpkg-buildpackage.man \
101         dpkg-checkbuilddeps.man \
102         dpkg-deb.man \
103         dpkg-distaddfile.man \
104         dpkg-divert.man \
105         dpkg-genbuildinfo.man \
106         dpkg-genchanges.man \
107         dpkg-gencontrol.man \
108         dpkg-gensymbols.man \
109         dpkg-maintscript-helper.man \
110         dpkg-mergechangelogs.man \
111         dpkg-name.man \
112         dpkg-parsechangelog.man \
113         dpkg-query.man \
114         dpkg-scanpackages.man \
115         dpkg-scansources.man \
116         dpkg-shlibdeps.man \
117         dpkg-source.man \
118         dpkg-split.man \
119         dpkg-statoverride.man \
120         dpkg-trigger.man \
121         dpkg-vendor.man \
122         dpkg.man \
123         dpkg.cfg.man \
124         dsc.man \
125         dselect.man \
126         dselect.cfg.man \
127         start-stop-daemon.man \
128         update-alternatives.man \
129         utf8toman.sed \
130         po/ChangeLog.old \
131         po/po4a.cfg \
132         po/dpkg-man.pot
133
134
135 # Extract the list of languages from the po4a config file.
136 LINGUAS_DIST = `sed -ne 's/^.*\[po4a_langs\] \(.*\)$$/\1/p' $(srcdir)/po/po4a.cfg`
137
138 # If the user has not defined it let's use the default.
139 LINGUAS ?= $(LINGUAS_DIST)
140
141
142 PO4A_V = $(PO4A_V_@AM_V@)
143 PO4A_V_ = $(PO4A_V_@AM_DEFAULT_V@)
144 PO4A_V_0 = @echo "  PO4A   $@";
145
146 PO4A_OPTS = --previous --srcdir $(srcdir) --destdir $(builddir) --no-backups \
147             --porefs noline,wrap --msgmerge-opt=--add-location=file \
148             --package-name dpkg-man --package-version $(PACKAGE_VERSION) \
149             --copyright-holder "$(PACKAGE_COPYRIGHT_HOLDER)" \
150             --msgid-bugs-address $(PACKAGE_BUGREPORT)
151
152 all-local: all-local-@USE_PO4A@
153
154 all-local-no:
155 all-local-yes: gen-man
156
157 # We use the man-once target to guarantee there is never an empty call in
158 # gen-man, that starts recursing infinitely.
159 .PHONY: gen-man man-once
160
161 gen-man: man.stamp
162         for lang in $(LINGUAS); do \
163           files=""; \
164           for man in $(man_MANS); do \
165             trans="$${man%%.[0-9]}.man"; \
166             if [ -f $(builddir)/$$lang/$$trans ]; then \
167               files="$$files $(builddir)/$$lang/$$man"; \
168             elif [ -f $(srcdir)/$$lang/$$trans ]; then \
169               files="$$files $(srcdir)/$$lang/$$man"; \
170             fi; \
171           done; \
172           $(MAKE) mandir="$(mandir)/$$lang" man_MANS="" man-once $$files; \
173         done
174
175 # FIXME: Use a stamp file until po4a supports them internally.
176 man.stamp:
177         $(PO4A_V) $(PO4A) $(PO4A_OPTS) $(srcdir)/po/po4a.cfg
178         $(AM_V_at) touch $@
179
180 clean-local: clean-local-@USE_PO4A@
181
182 clean-local-no:
183 clean-local-yes:
184         rm -rf $(LINGUAS_DIST)
185         $(AM_V_at) rm -f man.stamp
186
187 .PHONY: update-po
188
189 update-po:
190         $(PO4A_V) $(PO4A) $(PO4A_OPTS) --force $(srcdir)/po/po4a.cfg
191
192 SUFFIXES = .man
193
194 MANGEN_V = $(MANGEN_V_@AM_V@)
195 MANGEN_V_ = $(MANGEN_V_@AM_DEFAULT_V@)
196 MANGEN_V_0 = @echo "  MANGEN $@";
197
198 MANGEN = $(MANGEN_V) sed \
199         -f $(srcdir)/utf8toman.sed \
200         -e 's/%PACKAGE%/$(PACKAGE)/g' \
201         -e 's/%VERSION%/$(PACKAGE_VERSION)/g' \
202         -e 's/%RELEASE_DATE%/$(PACKAGE_RELEASE_DATE)/g' \
203         -e 's:%CONFDIR%:$(sysconfdir):g' \
204         -e 's:%LOGDIR%:$(logdir):g' \
205         -e 's:%ADMINDIR%:$(admindir):g' \
206         -e 's:%PKGDOCDIR%:$(docdir):g' \
207         -e 's:%PKGCONFDIR%:$(pkgconfdir):g' \
208         -e 's:%PKGLIBDIR%:$(pkglibexecdir):g' \
209         -e 's:%PKGDATADIR%:$(pkgdatadir):g'
210         $(nil)
211
212 .man.1: Makefile
213         $(MANGEN) $< >$@
214 .man.5: Makefile
215         $(MANGEN) $< >$@
216 .man.8: Makefile
217         $(MANGEN) $< >$@
218
219 install-data-local: install-data-local-@USE_PO4A@
220
221 install-data-local-no:
222 install-data-local-yes:
223         for lang in $(LINGUAS); do \
224           files=""; \
225           for man in $(man_MANS); do \
226             trans="$${man%%.[0-9]}.man"; \
227             if [ -f $(builddir)/$$lang/$$trans ]; then \
228               files="$$files $(builddir)/$$lang/$$man"; \
229             elif [ -f $(srcdir)/$$lang/$$trans ]; then \
230               files="$$files $(srcdir)/$$lang/$$man"; \
231             fi; \
232           done; \
233           $(MAKE) install-man mandir="$(mandir)/$$lang" man_MANS="$$files"; \
234         done
235
236 uninstall-local: uninstall-local-@USE_PO4A@
237
238 uninstall-local-no:
239 uninstall-local-yes:
240         for lang in $(LINGUAS); do \
241           files=""; \
242           for man in $(man_MANS); do \
243             trans="$${man%%.[0-9]}.man"; \
244             if [ -f $(builddir)/$$lang/$$trans ]; then \
245               files="$$files $(builddir)/$$lang/$$man"; \
246             elif [ -f $(srcdir)/$$lang/$$trans ]; then \
247               files="$$files $(srcdir)/$$lang/$$man"; \
248             fi; \
249           done; \
250           $(MAKE) uninstall-man mandir="$(mandir)/$$lang" man_MANS="$$files"; \
251         done
252
253 dist-hook: man.stamp
254         cp $(srcdir)/man.stamp $(distdir)/
255         for lang in $(LINGUAS_DIST); do \
256           cp $(srcdir)/po/$$lang.po $(distdir)/po; \
257           cp $(srcdir)/po/$$lang.add $(distdir)/po; \
258           $(MKDIR_P) $(distdir)/$$lang; \
259           cp -R $(srcdir)/$$lang $(distdir)/; \
260         done