Imported Upstream version 2.6.1
[debian/amanda] / man / Makefile.am
index d0cd8a5e0ebab92f45a1aec40a3833fabdd789ce..2525dee74a8f6e56f445081fab0250746fb2be4d 100644 (file)
 
 transform =    s,x,x,;
 
+AMPLOT_MAN_PAGES =  amplot.8
+
+COMMON_MAN_PAGES =  amanda.8 \
+                   amanda.conf.5 \
+                   amanda-client.conf.5 \
+                   amanda-scripts.7 \
+                   amanda-archive-format.5 \
+                   amanda-auth.7 \
+                   amarchiver.8 \
+                   script-email.8
+
+CLIENT_MAN_PAGES = \
+    amanda-applications.7 \
+    amgtar.8 \
+    amsamba.8 \
+    amstar.8 \
+    amzfs-snapshot.8 \
+    amzfs-sendrecv.8
+
+SERVER_MAN_PAGES =  \
+    amanda-devices.7 \
+    amanda-changers.7 \
+    amaddclient.8    \
+    amadmin.8 \
+    amaespipe.8 \
+    amcheck.8 \
+    amcheckdb.8 \
+    amcheckdump.8 \
+    amcleanup.8 \
+    amcrypt-ossl-asym.8 \
+    amcrypt-ossl.8   \
+    amcrypt.8 \
+    amcryptsimple.8  \
+    amdevcheck.8 \
+    amdump.8 \
+    amflush.8 \
+    amgetconf.8 \
+    amgpgcrypt.8 \
+    amlabel.8 \
+    amoverview.8 \
+    amreport.8 \
+    amrmtape.8 \
+    amserverconfig.8 \
+    amservice.8 \
+    amstatus.8 \
+    amtape.8 \
+    amtapetype.8 \
+    amtoc.8 \
+    amvault.8 \
+    disklist.5 \
+    tapelist.5
+
+RECOVER_MAN_PAGES =  amrecover.8
+
+RESTORE_MAN_PAGES =  amrestore.8 \
+                    amfetchdump.8
+
+ALL_MAN_PAGES = $(AMPLOT_MAN_PAGES) \
+          $(CLIENT_MAN_PAGES) \
+          $(COMMON_MAN_PAGES) \
+          $(SERVER_MAN_PAGES) \
+          $(RECOVER_MAN_PAGES) \
+          $(RESTORE_MAN_PAGES)
+
+WANTED_MAN_PAGES = $(COMMON_MAN_PAGES)
 if WANT_AMPLOT
-AMPLOT_MAN8_PAGES = amplot.8
+  WANTED_MAN_PAGES += $(AMPLOT_MAN_PAGES)
+endif
+if WANT_CLIENT
+  WANTED_MAN_PAGES += $(CLIENT_MAN_PAGES)
+endif
+if WANT_SERVER
+  WANTED_MAN_PAGES += $(SERVER_MAN_PAGES)
 endif
-
-COMMON_MAN8_PAGES = amanda.8
-
-COMMON_MAN5_PAGES = amanda.conf.5 \
-                   amanda-client.conf.5
-
-#if WANT_SERVER
-SERVER_MAN8_PAGES = amadmin.8 \
-                   amcheck.8 \
-                   amcheckdb.8 \
-                   amcleanup.8 \
-                   amdd.8 \
-                   amdump.8 \
-                   amflush.8 \
-                   amgetconf.8 \
-                   amlabel.8 \
-                   ammt.8 \
-                   amoverview.8 \
-                   amreport.8 \
-                   amrmtape.8 \
-                   amstatus.8 \
-                   amtape.8 \
-                   amtapetype.8 \
-                   amtoc.8 \
-                   amverify.8 \
-                   amverifyrun.8 \
-                   amfetchdump.8 \
-                   amcrypt.8 \
-                   amaespipe.8 \
-                   amcrypt-ossl.8 \
-                   amcrypt-ossl-asym.8
-#endif
-
 if WANT_RECOVER
-RECOVER_MAN8_PAGES = amrecover.8
+  WANTED_MAN_PAGES += $(RECOVER_MAN_PAGES)
 endif
-
 if WANT_RESTORE
-RESTORE_MAN8_PAGES = amrestore.8
+  WANTED_MAN_PAGES += $(RESTORE_MAN_PAGES)
 endif
 
-man8_pages = $(COMMON_MAN8_PAGES) \
-           $(AMPLOT_MAN8_PAGES) \
-           $(SERVER_MAN8_PAGES) \
-           $(RECOVER_MAN8_PAGES) \
-           $(RESTORE_MAN8_PAGES)
-
-man5_pages = $(COMMON_MAN5_PAGES)
-
-ALL_MAN_PAGES = $(AMPLOT_MAN8_PAGES) \
-          $(COMMON_MAN5_PAGES) \
-          $(COMMON_MAN8_PAGES) \
-          $(SERVER_MAN8_PAGES) \
-          $(RECOVER_MAN8_PAGES) \
-          $(RESTORE_MAN8_PAGES)
-
-# These lines are needed to force automake to set the $man<n>dir variables.
-man5_MANS =
-man8_MANS =
-
 SRCMANPAGEDIR  = $(srcdir)/xml-source
 
 MAN_XML = $(ALL_MAN_PAGES:%=xml-source/%.xml)
 
 EXTRA_XML = xslt/expand-sambadoc.xsl \
-            xslt/man.xsl \
+            xslt/man.xsl.in \
+            xslt/html.xsl.in \
             xslt/settings.xsl \
-           entities/global.entities \
+           entities/global.entities.in \
            entities/xinclude.dtd
 
-EXTRA_DIST = $(ALL_MAN_PAGES) $(MAN_XML) $(EXTRA_XML)
+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=$@:$<
+       rm -f config.log
+
+entities/global.entities: entities/global.entities.in $(top_builddir)/config.status
+       $(top_builddir)/config.status --file=$@:$<
+       rm -f config.log
+
 if   ENABLE_MANPAGE_BUILD
-xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
+# phase one of the documentation build expands some macros.
+xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl entities/global.entities
        $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
-%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-       $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --output $@ http://docbook.sourceforge.net/release/xsl/1.72.0/manpages/docbook.xsl $<
+# phase two generates a manpage from the resulting "expanded" docbook XML
+%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl entities/global.entities
+       $(XSLTPROC) $(XSLTPROC_FLAGS) --path $(srcdir)/xslt/ --output $@ xslt/man.xsl $<
+
+%.html: xml-source/%.proc.xml $(srcdir)/xslt/html.xsl entities/global.entities
+       $(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
 
-all: $(ALL_MAN_PAGES)
-
-# this is conditioned on ENABLE_MANPAGE_BUILD; it checks for the
-# existence of the file to be installed when building manpages is
-# not enabled.
-install-data-hook: $(ALL_MAN_PAGES)
-if     ENABLE_MANPAGE_BUILD
-       @list="$(man8_pages)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(man8dir)/`echo $$p|sed '$(transform)'`; \
-               echo $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man8dir); \
-               $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man8dir); \
-               echo chown \"$(BINARY_OWNER)\" $$pa;    \
-               chown "$(BINARY_OWNER)" $$pa;           \
-               echo chgrp \"$(SETUID_GROUP)\" $$pa;    \
-               chgrp "$(SETUID_GROUP)" $$pa;           \
-       done
-       @list="$(man5_pages)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(man5dir)/`echo $$p|sed '$(transform)'`; \
-               echo $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man5dir); \
-               $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man5dir); \
-               echo chown \"$(BINARY_OWNER)\" $$pa;    \
-               chown "$(BINARY_OWNER)" $$pa;           \
-               echo chgrp \"$(SETUID_GROUP)\" $$pa;    \
-               chgrp "$(SETUID_GROUP)" $$pa;           \
-       done
-else   !ENABLE_MANPAGE_BUILD
-       @list="$(man8_pages)"; \
-       for p in $$list; do \
-           if test -e $$p; then \
-               pa=$(DESTDIR)$(man8dir)/`echo $$p|sed '$(transform)'`; \
-               echo $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man8dir); \
-               $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man8dir); \
-               echo chown \"$(BINARY_OWNER)\" $$pa;    \
-               chown "$(BINARY_OWNER)" $$pa;           \
-               echo chgrp \"$(SETUID_GROUP)\" $$pa;    \
-               chgrp "$(SETUID_GROUP)" $$pa;           \
-           fi \
-       done
-       @list="$(man5_pages)"; \
-       for p in $$list; do \
-           if test -e $$p; then \
-               pa=$(DESTDIR)$(man5dir)/`echo $$p|sed '$(transform)'`; \
-               echo $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man5dir); \
-               $(INSTALL) -c -m 644 $$p $(DESTDIR)$(man5dir); \
-               echo chown \"$(BINARY_OWNER)\" $$pa;    \
-               chown "$(BINARY_OWNER)" $$pa;           \
-               echo chgrp \"$(SETUID_GROUP)\" $$pa;    \
-               chgrp "$(SETUID_GROUP)" $$pa;           \
-           fi \
+##
+## 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; \
        done
-endif
+
+man_MANS = $(WANTED_MAN_PAGES)