<?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="SecMain" default="main" basedir="." >
  <!-- Apply external ANT task -->
  <taskdef resource="frameworktasks.tasks" /> 
  <taskdef resource="cpptasks.tasks" /> 
  <typedef resource="cpptasks.types" /> 
  <taskdef resource="net/sf/antcontrib/antlib.xml" />
  <property environment="env" />
  <!-- All Properties --> 
  <property name="BASE_NAME" value="SecMain" /> 
  
  <!-- Default target --> 
  <target name="main" depends="libraries, sourcefiles, sections, output" /> 
  <!-- Compile all dependency Library instances. --> 

  <target name="libraries">
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BaseLib\build.xml" inheritAll="false" target="BaseLib">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BaseMemoryLib\build.xml" inheritAll="false" target="BaseMemoryLib">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BasePrintLib\build.xml" inheritAll="false" target="BasePrintLib">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BasePeCoffLib\build.xml" inheritAll="false" target="BasePeCoffLib">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BaseReportStatusCodeLibNull\build.xml" inheritAll="false" target="BaseReportStatusCodeLibNull">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <ant antfile="${WORKSPACE_DIR}\MdePkg\Library\BaseDebugLibNull\build.xml" inheritAll="false" target="BaseDebugLibNull">
      <property name="WORKSPACE_DIR" value="${WORKSPACE_DIR}" /> 
      <property name="PACKAGE_DIR" value="${WORKSPACE_DIR}\MdePkg/" /> 
      <property name="ARCH" value="${ARCH}" /> 
      <property name="TARGET" value="${TARGET}" /> 
      <property name="PACKAGE" value="MdePkg" /> 
    </ant>
    <Expand />
  </target>
  <target name="sourcefiles">
      <Build_AUTOGEN FILENAME="AutoGen" FILEPATH=".">
         <EXTRA.INC>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include\${ARCH}"/>
            <includepath path="${DEST_DIR_DEBUG}"/>
         </EXTRA.INC>
       </Build_AUTOGEN>
      <Build_C_Code FILENAME="FwVol" FILEPATH=".">
         <EXTRA.INC>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include\${ARCH}"/>
            <includepath path="${DEST_DIR_DEBUG}"/>
         </EXTRA.INC>
      </Build_C_Code>
      <Build_C_Code FILENAME="WinNtThunk" FILEPATH=".">
         <EXTRA.INC>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include\${ARCH}"/>
            <includepath path="${DEST_DIR_DEBUG}"/>
         </EXTRA.INC>
      </Build_C_Code>
      <Build_C_Code FILENAME="SecMain" FILEPATH=".">
         <EXTRA.INC>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\MdePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkModulePkg\Include\${ARCH}"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include"/>
            <includepath path="${WORKSPACE_DIR}\EdkNt32Pkg\Include\${ARCH}"/>
            <includepath path="${DEST_DIR_DEBUG}"/>
         </EXTRA.INC>
      </Build_C_Code>
    </target>
    <target name="sections" />
    <target name="output" >
      <echo message="##Entering Output!" />
      
      <OnDependency>
        <sourcefiles>
          <file list="${OBJECTS}"/>
          <file list="${LIBS}"/>
        </sourcefiles>
        <targetfiles>
          <file name="${BIN_DIR}\SecMain.exe"/>
        </targetfiles>
        
        <sequential>
          <shellscript shell="cmd.exe" tmpsuffix=".cmd">
            <arg line="/c"/>
            <arg line="call"/>
            "${LINK}" /LIBPATH:"${env.MSVCDir}\Lib" /LIBPATH:"${env.MSVCDir}\PlatformSdk\Lib" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MsvcRt.lib Gdi32.lib User32.lib Winmm.lib ${OBJECTS} ${LIBS} /base:0x10000000 /out:${BIN_DIR}\SecMain.exe /pdb:${DEST_DIR_DEBUG}\SecMain.pdb
          </shellscript>
        </sequential>
      </OnDependency>
      <!--      
      <cc userdefine="on">
        <command type="LINK">
          <argument value="/LIBPATH:&quot;${env.MSVCDir}\Lib&quot; /LIBPATH:&quot;${env.MSVCDir}\PlatformSdk\Lib&quot;" />
          <argument value="/NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG" />
          <argument value="Kernel32.lib MsvcRt.lib Gdi32.lib User32.lib Winmm.lib" />
          <argument value="${OBJECTS}" />
          <argument value="${LIBS}" />
          <argument value="/base:0x10000000 /out:${BIN_DIR}\SecMain.exe /pdb:${DEST_DIR_DEBUG}\SecMain.pdb" />
      </command>
    </cc>
    -->
  </target>
  <target name="clean" ></target>

  <target name="cleanAll"></target>
</project>
