aboutsummaryrefslogtreecommitdiffstats
path: root/Maintenance
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2013-04-10 20:31:32 +0000
committerDean Camera <dean@fourwalledcubicle.com>2013-04-10 20:31:32 +0000
commitc10935c80b393172e0dc7295b150a26ef96d413e (patch)
tree1587739737d9af220232c35feee7fd2033b39ab0 /Maintenance
parent91946e6d626641180c2b4b42102fe5ee886fba45 (diff)
downloadlufa-c10935c80b393172e0dc7295b150a26ef96d413e.tar.gz
lufa-c10935c80b393172e0dc7295b150a26ef96d413e.tar.bz2
lufa-c10935c80b393172e0dc7295b150a26ef96d413e.zip
Add maintenance makefile rule and XSLT transform to generate a unified header of all library functions for analysis purposes.
Diffstat (limited to 'Maintenance')
-rw-r--r--Maintenance/lufa_functionlist_transform.xslt19
-rw-r--r--Maintenance/makefile7
2 files changed, 26 insertions, 0 deletions
diff --git a/Maintenance/lufa_functionlist_transform.xslt b/Maintenance/lufa_functionlist_transform.xslt
new file mode 100644
index 000000000..fc53ae01a
--- /dev/null
+++ b/Maintenance/lufa_functionlist_transform.xslt
@@ -0,0 +1,19 @@
+<!--
+ LUFA Library
+ Copyright (C) Dean Camera, 2013.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+-->
+
+<!-- Extracts out all function signatures from a combined Doxygen XML output. -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="xml" omit-xml-declaration="yes"/>
+
+ <xsl:template match="doxygen">
+ <xsl:for-each select="//memberdef[@kind = 'function']">
+ <xsl:value-of select="definition"/><xsl:value-of select="argsstring"/><xsl:text>;&#10;</xsl:text>
+ </xsl:for-each>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/Maintenance/makefile b/Maintenance/makefile
index d147839a0..9b37d7d5a 100644
--- a/Maintenance/makefile
+++ b/Maintenance/makefile
@@ -14,6 +14,13 @@ LUFA_ROOT := ../
all:
+# Generate a header containing all library functions
+function-list:
+ $(MAKE) -C $(patsubst %/,%,$(LUFA_ROOT))/LUFA doxygen DOXYGEN_OVERRIDE_PARAMS="GENERATE_XML=yes"
+ @xsltproc $(patsubst %/,%,$(LUFA_ROOT))/LUFA/Documentation/xml/combine.xslt $(patsubst %/,%,$(LUFA_ROOT))/LUFA/Documentation/xml/index.xml > temp.xml
+ @xsltproc lufa_functionlist_transform.xslt temp.xml > function_list.h
+ @rm temp.xml
+
# Update all Doxygen configuration files to the latest Doxygen version - force Markdown support to be disabled
upgrade-doxygen:
@echo Upgrading Doxygen.conf files...