]> git.ipfire.org Git - people/ms/network.git/blobdiff - Makefile
Convert man pages to docbook.
[people/ms/network.git] / Makefile
index f110cd448f34ca6010198ea921ef5cc73654ec22..d54d65f76fe653d73be71ff246903f658090ef1a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,3 @@
-
 include Makeconfig
 
 DESTDIR=
@@ -16,9 +15,55 @@ tmpfilesdir=$(prefix)/lib/tmpfiles.d
 # File to store the version number in.
 VERSION_FILE = $(DESTDIR)$(libdir)/network/version
 
+# A list of files which should be removed on "make clean"
+CLEANFILES =
+
+# man pages
+MAN_PAGES = \
+       man/network.8 \
+       man/network-config.8 \
+       man/network-device.8 \
+       man/network-dns-server.8 \
+       man/network-port-batman-adv.8 \
+       man/network-port-batman-adv-port.8 \
+       man/network-route.8 \
+       man/network-zone.8 \
+       man/network-zone-bridge.8 \
+       man/network-zone-config-pppoe-server.8 \
+       man/network-zone-pppoe.8
+
+MAN_PAGES_HTML = $(patsubst %.xml,%.html,$(MAN_PAGES_XML))
+MAN_PAGES_XML  = $(patsubst %.8,%.xml,$(MAN_PAGES))
+
+CLEANFILES += \
+       $(MAN_PAGES) \
+       $(MAN_PAGES_HTML)
+
+XSLTPROC = xsltproc
+
+XSLTPROC_FLAGS = \
+       --nonet \
+       --stringparam man.output.quietly 1 \
+       --stringparam funcsynopsis.style ansi \
+       --stringparam man.th.extra1.suppress 1 \
+       --stringparam man.authors.section.enabled 1 \
+       --stringparam man.copyright.section.enabled 1
+
+XSLTPROC_COMMAND_MAN = \
+       $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
+               http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+XSLTPROC_COMMAND_HTML = \
+       $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) man/custom-html.xsl $<
+
+man/%.8: man/%.xml
+       $(XSLTPROC_COMMAND_MAN)
+
+man/%.html: man/%.xml man/custom-html.xsl
+       $(XSLTPROC_COMMAND_HTML)
+
 .PHONY: all
-all:
-       make -C man all
+all: $(MAN_PAGES)
 
 .PHONY: install
 install:
@@ -72,9 +117,13 @@ install:
        echo "# This file is automatically generated." >> $(VERSION_FILE)
        echo "NETWORK_VERSION=$(PACKAGE_VERSION)" >> $(VERSION_FILE)
 
-       # Descend into subdirectories.
-       make -C man install
+.PHONY: clean
+clean:
+       rm -f $(CLEANFILES)
 
 dist:
        git archive --format tar --prefix $(PACKAGE_NAME)-$(PACKAGE_VERSION)/ HEAD | gzip -9 > \
                $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz
+
+.PHONY: export-html-docs
+export-html-docs: $(MAN_PAGES_HTML)