diff options
Diffstat (limited to 'LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt')
-rw-r--r-- | LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt b/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt new file mode 100644 index 0000000000..2998b879f0 --- /dev/null +++ b/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt @@ -0,0 +1,35 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework Module XML transform file --> + +<!-- Outputs a flat file list of all source files referenced in all modules of + the input manifest XML file, so that they can be checked for existence. --> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Read manifest list, add a comment to indicate the source filename + and then process all ASF nodes in the referenced document --> + <xsl:template match="lufa-manifest"> + <xsl:for-each select="xml-source"> + <xsl:comment>Sourced from <xsl:value-of select="@filename"/></xsl:comment> + <xsl:apply-templates select="document(@filename)/lufa/asf/*"/> + </xsl:for-each> + </xsl:template> + + <!-- Recursively match and process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:apply-templates select="@*|node()"/> + </xsl:template> + + <!-- Match source file nodes, output filename --> + <xsl:template match="build[@type='c-source']|build[@type='header-file']|build[@type='distribute']"> + <xsl:value-of select="@value"/> + <xsl:text>
</xsl:text> + </xsl:template> +</xsl:stylesheet> |