<?xml version="1.0"?>
<!--
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution.  The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-->
<project name="Tools" default="all" basedir=".">

  <property environment="env"/>

  <target name="JavaCode" depends="SurfaceArea">
    <subant target="" verbose="true" inheritall="false">
      <!-- Note: this is an ordered list. The projects have dependencies between them. -->
      <filelist dir="."
        files="
          Source/GenBuild/build.xml
          Source/FrameworkTasks/build.xml
          Source/Cpptasks/build.xml
          Source/ModuleEditor/build.xml
          Source/PackageEditor/build.xml
          "/>
    </subant>
  </target>

  <target name="all" depends="C_Code"/>

  <target name="SurfaceArea" depends="makeCatalog">
    <subant target="" verbose="true" inheritall="false">
      <filelist dir="."
        files="
          Source/SurfaceArea/build.xml
          "/>
    </subant>
  </target>

  <target name="C_Code" depends="JavaCode">
    <subant target="" verbose="true" inheritall="false">
      <filelist dir="."
        files="
          Source/TianoTools/build.xml
          "/>
    </subant>
  </target>

  <target name="makeCatalog">
    <echo file="XMLSchema/catalog.xml">
      <![CDATA[<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.xsd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <rewriteSystem systemIdStartString="http://www.TianoCore.org/2006/Edk2.0/"
    rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
  <rewriteURI uriStartString="http://www.TianoCore.org/2006/Edk2.0/"
    rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
</catalog>]]>
    </echo>
    <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt" overwrite="false"/>
  </target>
  <target name="clean">
    <subant target="clean" inheritall="false">
      <filelist dir="."
        files="
          Source/TianoTools/build.xml
          Source/ModuleEditor/build.xml
          Source/PackageEditor/build.xml
          Source/FrameworkTasks/build.xml
          Source/GenBuild/build.xml
          Source/SurfaceArea/build.xml
          Source/Cpptasks/build.xml
          "/>
    </subant>
  </target>
  <target name="cleanall">
    <subant target="cleanall" verbose="true" inheritall="false">
      <filelist dir="."
        files="
          Source/TianoTools/build.xml
          Source/ModuleEditor/build.xml
          Source/PackageEditor/build.xml
          Source/FrameworkTasks/build.xml
          Source/GenBuild/build.xml
          Source/SurfaceArea/build.xml
          Source/Cpptasks/build.xml
          "/>
    </subant>
  </target>
</project>
