<?xml version="1.0" ?>
<project name="Prebuild" default="build">
    <target name="build">
        <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
        <mkdir dir="${project::get-base-directory()}/${build.dir}" />
        <copy todir="${project::get-base-directory()}/${build.dir}" flatten="true">
            <fileset basedir="${project::get-base-directory()}">
            </fileset>
        </copy>
        <copy todir="${project::get-base-directory()}/${build.dir}">
            <fileset basedir=".">
            </fileset>
        </copy>
        <csc target="exe" debug="${build.debug}" keyfile="Prebuild.snk" unsafe="False" warnaserror="False" define="DEBUG;TRACE" main="Prebuild.Prebuild" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.exe" win32icon="App.ico">
            <resources prefix="Prebuild" dynamicprefix="true" >
                <include name="App.ico" />
                <include name="data/prebuild-1.7.xsd" />
            </resources>
            <sources failonempty="true">
                <include name="Prebuild.cs" />
                <include name="Core/FatalException.cs" />
                <include name="Core/Kernel.cs" />
                <include name="Core/UnknownLanguageException.cs" />
                <include name="Core/WarningException.cs" />
                <include name="Core/Attributes/DataNodeAttribute.cs" />
                <include name="Core/Attributes/OptionNodeAttribute.cs" />
                <include name="Core/Attributes/TargetAttribute.cs" />
                <include name="Core/Interfaces/IDataNode.cs" />
                <include name="Core/Interfaces/ITarget.cs" />
                <include name="Core/Nodes/AuthorNode.cs" />
                <include name="Core/Nodes/ConfigurationNode.cs" />
                <include name="Core/Nodes/DataNode.cs" />
                <include name="Core/Nodes/DescriptionNode.cs" />
                <include name="Core/Nodes/ExcludeNode.cs" />
                <include name="Core/Nodes/FileNode.cs" />
                <include name="Core/Nodes/FilesNode.cs" />
                <include name="Core/Nodes/MatchNode.cs" />
                <include name="Core/Nodes/OptionsNode.cs" />
                <include name="Core/Nodes/ProcessNode.cs" />
                <include name="Core/Nodes/ProjectNode.cs" />
                <include name="Core/Nodes/ReferenceNode.cs" />
                <include name="Core/Nodes/ReferencePathNode.cs" />
                <include name="Core/Nodes/SolutionNode.cs" />
                <include name="Core/Parse/IfContext.cs" />
                <include name="Core/Parse/Preprocessor.cs" />
                <include name="Core/Targets/AutotoolsTarget.cs" />
                <include name="Core/Targets/DebugTarget.cs" />
                <include name="Core/Targets/MakefileTarget.cs" />
                <include name="Core/Targets/MonoDevelopTarget.cs" />
                <include name="Core/Targets/NAntTarget.cs" />
                <include name="Core/Targets/SharpDevelop2Target.cs" />
                <include name="Core/Targets/SharpDevelopTarget.cs" />
                <include name="Core/Targets/VS2002Target.cs" />
                <include name="Core/Targets/VS2003Target.cs" />
                <include name="Core/Targets/VS2005Target.cs" />
                <include name="Core/Targets/VS2008Target.cs" />
                <include name="Core/Targets/XcodeTarget.cs" />
                <include name="Core/Utilities/CommandLineCollection.cs" />
                <include name="Core/Utilities/CurrentDirectory.cs" />
                <include name="Core/Utilities/Helper.cs" />
                <include name="Core/Utilities/Log.cs" />
                <include name="Properties/AssemblyInfo.cs" />
            </sources>
            <references basedir="${project::get-base-directory()}">
                <lib>
                    <include name="${project::get-base-directory()}" />
                    <include name="${project::get-base-directory()}/${build.dir}" />
                </lib>
                <include name="System.dll" />
                <include name="System.EnterpriseServices.dll" />
                <include name="System.Xml.dll" />
            </references>
        </csc>
        <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
        <mkdir dir="${project::get-base-directory()}/../../bin/"/>
        <copy todir="${project::get-base-directory()}/../../bin/">
            <fileset basedir="${project::get-base-directory()}/${build.dir}/" >
                <include name="*.dll"/>
                <include name="*.exe"/>
                <include name="*.mdb" if='${build.debug}'/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="${obj.dir}" failonerror="false" />
        <delete dir="${bin.dir}" failonerror="false" />
    </target>
    <target name="doc" description="Creates documentation.">
    </target>
</project>
