OK, here is my take, using <anton> which doesn't exist right now but
has been promised for Ant2 (and could very well be there in Ant1 as
well).
As far as I understand it, you want to run a common set of targets for
all modules that have been checked out - which means, if there is a
build file, use it, if not, skip it.
How about this?
<target name="foreach">
<anton target="${target}">
<fileset dir=".">
<include name="**/build.xml" />
</fileset>
</anton>
</target>
<target name="clean">
<antcall target="foreach">
<param name="target" value="clean"/>
</antcall>
</target>
<target name="nothing">
<antcall target="foreach">
<param name="target" value="nothing"/>
</antcall>
</target>
Stefan