Imported Upstream version 3.3.1
[debian/amanda] / man / Makefile.am
index bfe2c2e9dd4642ebd6baaa3b7a0086f1f5850904..79106bd897796244dd935f24ae3daec4bf4dbb71 100644 (file)
 # Makefile for amanda man-pages
 
+.SECONDARY:
+
 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 \
+                   amanda-match.7 \
+                   amarchiver.8 \
+                   amservice.8 \
+                   script-email.8
+
+CLIENT_MAN_PAGES = \
+    amanda-applications.7 \
+    amdump_client.8 \
+    amgtar.8 \
+    ampgsql.8 \
+    amraw.8 \
+    amsamba.8 \
+    amstar.8 \
+    amsuntar.8 \
+    amzfs-snapshot.8 \
+    amzfs-sendrecv.8
+
+SERVER_MAN_PAGES =  \
+    amanda-devices.7 \
+    amanda-compatibility.7 \
+    amanda-changers.7 \
+    amanda-interactivity.7 \
+    amanda-taperscan.7 \
+    amaddclient.8    \
+    amadmin.8 \
+    amaespipe.8 \
+    amcheck.8 \
+    amcheckdb.8 \
+    amcheckdump.8 \
+    amcleanup.8 \
+    amcleanupdisk.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 \
+    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_MANS = $(COMMON_MAN8_PAGES) \
-           $(AMPLOT_MAN8_PAGES) \
-           $(SERVER_MAN8_PAGES) \
-           $(RECOVER_MAN8_PAGES) \
-           $(RESTORE_MAN8_PAGES)
-
-man5_MANS = $(COMMON_MAN5_PAGES)
-
-ALL_MAN_PAGES = $(AMPLOT_MAN8_PAGES) \
-          $(COMMON_MAN5_PAGES) \
-          $(COMMON_MAN8_PAGES) \
-          $(SERVER_MAN8_PAGES) \
-          $(RECOVER_MAN8_PAGES) \
-          $(RESTORE_MAN8_PAGES)
-
-man_MANS = $(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)
 
-if BUILD_MAN_PAGES
-if   HAVE_XSLTPROC
-xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
-       $(XSLTPROC) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
+# 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
 
-%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-       $(XSLTPROC) --path $(srcdir)/xslt/ --output $@ man.xsl $<
+entities/global.entities: entities/global.entities.in $(top_builddir)/config.status
+       $(top_builddir)/config.status --file=$@:$<
+       rm -f config.log
 
-else    # !HAVE_XSLTPROC
+if   ENABLE_MANPAGE_BUILD
+# 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/:$(builddir)/entities/" --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
-xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
-       @echo WARNING: $@ can not be generated: xsltproc is not available.
+# 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/:$(builddir)/entities/" --output $@ xslt/man.xsl $<
 
-%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-       @echo WARNING: $@ can not be generated: xsltproc is not available.
+%.html: xml-source/%.proc.xml $(srcdir)/xslt/html.xsl entities/global.entities
+       $(XSLTPROC) $(XSLTPROC_FLAGS) --path "$(srcdir)/xslt/:$(builddir)/entities/" --output $@ xslt/html.xsl $<
 
-endif  # HAVE_XSLTPROC
+else   !ENABLE_MANPAGE_BUILD
 
-else  # !BUILD_MAN_PAGES
+%: $(SRCMANPAGEDIR)/%.xml
+       @echo WARNING: Not building needed $@ because building manpages is disabled.
+       @echo 'DUMMY' > $@
 
-xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
-       @echo  Build of $@ skipped.
+# (no rule to build HTML without ENABLE_MANPAGE_BUILD)
 
-%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-       @echo  Build of $@ skipped.
+endif
 
-endif # BUILD_MAN_PAGES
+##
+## HTML Generation
+##
 
-if BUILD_MAN_PAGES
-install-data-hook:
-       @list="$(man8_MANS)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(man8dir)/`echo $$p|sed '$(transform)'`; \
-               echo chown $(BINARY_OWNER) $$pa; \
-               chown $(BINARY_OWNER) $$pa; \
-               echo chgrp $(SETUID_GROUP) $$pa; \
-               chgrp $(SETUID_GROUP) $$pa; \
-       done
-       @list="$(man5_MANS)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(man5dir)/`echo $$p|sed '$(transform)'`; \
-               echo chown $(BINARY_OWNER) $$pa; \
-               chown $(BINARY_OWNER) $$pa; \
-               echo chgrp $(SETUID_GROUP) $$pa; \
-               chgrp $(SETUID_GROUP) $$pa; \
-       done
+EXTRA_DIST += \
+       index.php \
+       amanda.css
 
-else  # !BUILD_MAN_PAGES
+ALL_MAN_HTMLS = $(ALL_MAN_PAGES:%=%.html)
 
-install:
-       @echo Skipping man page installation.
+# 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
 
-endif
+# 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
 
+man_MANS = $(WANTED_MAN_PAGES)