-install-data-hook:
- @list="$(man_MANS)"; \
- for p in $$list; do \
- pa=$(DESTDIR)$(mandir)/man8/`echo $$p|sed '$(transform)'`; \
- echo chown $(BINARY_OWNER) $$pa; \
- chown $(BINARY_OWNER) $$pa; \
- echo chgrp $(SETUID_GROUP) $$pa; \
- chgrp $(SETUID_GROUP) $$pa; \
+EXTRA_XML = xslt/expand-sambadoc.xsl \
+ xslt/man.xsl.in \
+ xslt/html.xsl.in \
+ xslt/settings.xsl \
+ entities/global.entities \
+ entities/xinclude.dtd
+
+EXTRA_DIST = $(ALL_MAN_PAGES) $(MAN_XML) $(EXTRA_HTML) $(EXTRA_XML)
+
+GEN_XML = $(ALL_MAN_PAGES:%=xml-source/%.proc.xml)
+
+MOSTLYCLEANFILES = $(GEN_XML)
+MAINTAINERCLEANFILES = $(ALL_MAN_PAGES)
+
+# some of the XSL needs to know what docbook-xsl version we've selected
+%.xsl: %.xsl.in $(top_builddir)/config.status
+ $(top_builddir)/config.status --file=$@:$<
+
+if ENABLE_MANPAGE_BUILD
+# phase one of the documentation build expands some macros.
+xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
+ $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
+
+# phase two generates a manpage from the resulting "expanded" docbook XML
+%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
+ $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --output $@ xslt/man.xsl $<
+
+%.html: xml-source/%.proc.xml $(srcdir)/xslt/html.xsl
+ $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --output $@ xslt/html.xsl $<
+
+else !ENABLE_MANPAGE_BUILD
+
+%: $(SRCMANPAGEDIR)/%.xml
+ @echo WARNING: Not building needed $@ because building manpages is disabled.
+ @echo 'DUMMY' > $@
+
+# (no rule to build HTML without ENABLE_MANPAGE_BUILD)
+
+endif
+
+##
+## HTML Generation
+##
+
+EXTRA_DIST += \
+ index.php \
+ amanda.css
+
+ALL_MAN_HTMLS = $(ALL_MAN_PAGES:%=%.html)
+
+# toplevel rule to build HTML manpages and tar them up
+html: amanda.css index.php $(ALL_MAN_HTMLS)
+ tar -zcf html.tar.gz $(ALL_MAN_HTMLS) amanda.css index.php
+
+# double-check that we don't ship dummy manpages
+dist-hook:
+ for f in $(WANTED_MAN_PAGES); do \
+ if sed -e 1q $(distdir)/$$f | $(GREP) '^DUMMY$$' >/dev/null 2>/dev/null; then \
+ echo "$(distdir)/$$f is a dummy manpage; cannot create distribution"; \
+ exit 1; \
+ fi; \