summaryrefslogtreecommitdiffstats
blob: 36d12cafc115bd4fdb2c8f7986af872e017a37f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# $Source$
# $Author: xmldoc $
# $Date: 2007-03-23 14:57:22 -0700 (Fri, 23 Mar 2007) $
# $Revision: 6759 $
# vim: number
#
# ------------------------------------------------------------------
#  ** Makefile.paramDoc - create param.xsl files w/ embedded doc **
# ------------------------------------------------------------------

PARAMFILES = $(wildcard ../../*/param.xsl)
PARAMFILESDOCD = $(foreach base,$(basename $(PARAMFILES)),$(base).docd.xsl)

XSLT=xsltproc
XSLTFLAGS=

COPYDOC := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \
                xmlns:doc="http://docbook.org/ns/docbook" \
                version="1.0"> \
  <xsl:template match="*[local-name() = &apos;param&apos;]"> \
    <xsl:call-template name="copy-xsl-source"/> \
  </xsl:template> \
  <xsl:template match="*[local-name() = &apos;attribute-set&apos;]"> \
    <xsl:call-template name="copy-xsl-source"/> \
  </xsl:template> \
  <xsl:template name="copy-xsl-source"> \
    <xsl:variable \
        name="source" \
        select="concat(&apos;../../params/&apos;,@name,&apos;.xml&apos;)"/> \
    <xsl:apply-templates select="document($$source)/*[local-name() = &apos;refentry&apos;]"/> \
    <xsl:copy> \
      <xsl:apply-templates select="@* | node()"/> \
    </xsl:copy> \
  </xsl:template> \
  <xsl:template match="node() | @*"> \
    <xsl:copy> \
      <xsl:apply-templates select="@* | node()"/> \
    </xsl:copy> \
  </xsl:template> \
  <xsl:template match="*[local-name() = &apos;refentry&apos;]"> \
    <xsl:text>&\#x0a;</xsl:text> \
    <doc:refentry id="{@*[local-name() = &apos;id&apos;]}"> \
      <xsl:apply-templates/> \
    </doc:refentry> \
    <xsl:text>&\#x0a;</xsl:text> \
  </xsl:template> \
  <xsl:template match="*[local-name() = &apos;refsynopsisdiv&apos;]"/> \
</xsl:stylesheet>

all: $(PARAMFILESDOCD)

%.docd.xsl: %.xsl
	@echo '$(COPYDOC)' | $(XSLT) $(XSLTFLAGS) - $< > $@

debug:
	@echo $(PARAMFILESDOCD)

clean:
	$(RM) $(PARAMFILESDOCD)