summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/xslt/list-system-sources.xslt
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-06-29 01:29:04 +1000
committer Vas Crabb <vas@vastheman.com>2022-06-29 01:29:04 +1000
commit871837b1239ecd1b4363c97c3b5974b8fd88448b (patch)
tree79cdefa9cf1bf6ecb912858214197bff64bb6015 /scripts/xslt/list-system-sources.xslt
parentc639edbca7f66c21b10254b7c3bdfc029124d5ce (diff)
More quality of life features for new source layout:
Added support for wildcards in .flt filter files. You'll need to quote them to avoid /* being parsed as a comment initiator, like "seta/*.cpp" on a line including the quotes. Added an XSLT filter for listing system driver sources, like mame -lx | xsltproc scripts/xslt/list-system-sources.xslt Converted the ci subtarget (which isn't really used much) into a .flt rather than .lua and .lst files.
Diffstat (limited to 'scripts/xslt/list-system-sources.xslt')
-rw-r--r--scripts/xslt/list-system-sources.xslt60
1 files changed, 60 insertions, 0 deletions
diff --git a/scripts/xslt/list-system-sources.xslt b/scripts/xslt/list-system-sources.xslt
new file mode 100644
index 00000000000..f714d136295
--- /dev/null
+++ b/scripts/xslt/list-system-sources.xslt
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Prints unique source files for system drivers.
+
+$ ./mamenld -listxml | xsltproc scripts/xslt/list-system-sources.xslt -
+sega/segag80r.cpp
+capcom/1942.cpp
+midw8080/mw8080bw.cpp
+sega/segas16b.cpp
+sega/segas16a.cpp
+atari/atarittl.cpp
+cinemat/cinemat.cpp
+exidy/exidyttl.cpp
+misc/electra.cpp
+irem/m62.cpp
+misc/pse.cpp
+ramtek/ramtek.cpp
+misc/fungames.cpp
+meadows/meadows.cpp
+sega/vicdual.cpp
+atari/pong.cpp
+exidy/carpolo.cpp
+univers/cheekyms.cpp
+misc/cocoloco.cpp
+sega/zaxxon.cpp
+misc/crazybal.cpp
+misc/chicago.cpp
+sega/segag80v.cpp
+exidy/starfire.cpp
+taito/taitottl.cpp
+atari/flyball.cpp
+sega/segattl.cpp
+misc/bailey.cpp
+vtech/gamemachine.cpp
+skeleton/hazeltin.cpp
+sega/segas16b_isgsm.cpp
+jpm/jpmsru.cpp
+zaccaria/zaccaria.cpp
+nintendo/mario.cpp
+sega/monacogp.cpp
+skeleton/palestra.cpp
+nintendo/popeye.cpp
+alliedl/aleisttl.cpp
+misc/usbilliards.cpp
+midway/sspeedr.cpp
+ramtek/starcrus.cpp
+skeleton/testpat.cpp
+misc/a1supply.cpp
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text" omit-xml-declaration="yes" indent="no" />
+
+ <xsl:key name="sourcekey" match="machine" use="@sourcefile" />
+
+ <xsl:template match="/">
+ <xsl:for-each select="*/machine[(@runnable = 'yes') and (generate-id() = generate-id(key('sourcekey', @sourcefile)))]">
+ <xsl:value-of select="concat(@sourcefile, '&#xA;')" />
+ </xsl:for-each>
+ </xsl:template>
+</xsl:stylesheet>