1159b3361Sopenharmony_ci<?xml version="1.0" encoding="utf-8"?>
2159b3361Sopenharmony_ci<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3159b3361Sopenharmony_ci  <ItemGroup>
4159b3361Sopenharmony_ci    <PropertyPageSchema
5159b3361Sopenharmony_ci      Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
6159b3361Sopenharmony_ci    <AvailableItemName
7159b3361Sopenharmony_ci      Include="NASM">
8159b3361Sopenharmony_ci      <Targets>_NASM</Targets>
9159b3361Sopenharmony_ci    </AvailableItemName>
10159b3361Sopenharmony_ci  </ItemGroup>
11159b3361Sopenharmony_ci  <UsingTask
12159b3361Sopenharmony_ci    TaskName="NASM"
13159b3361Sopenharmony_ci    TaskFactory="XamlTaskFactory"
14159b3361Sopenharmony_ci    AssemblyName="Microsoft.Build.Tasks.v4.0">
15159b3361Sopenharmony_ci    <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
16159b3361Sopenharmony_ci  </UsingTask>
17159b3361Sopenharmony_ci  <Target
18159b3361Sopenharmony_ci    Name="_NASM"
19159b3361Sopenharmony_ci    BeforeTargets="$(NASMBeforeTargets)"
20159b3361Sopenharmony_ci    AfterTargets="$(NASMAfterTargets)"
21159b3361Sopenharmony_ci    Condition="'@(NASM)' != ''"
22159b3361Sopenharmony_ci    DependsOnTargets="$(NASMDependsOn);ComputeNASMOutput"
23159b3361Sopenharmony_ci    Outputs="@(NASM-&gt;Metadata('Outputs')-&gt;Distinct())"
24159b3361Sopenharmony_ci    Inputs="@(NASM);%(NASM.AdditionalDependencies);$(MSBuildProjectFile)">
25159b3361Sopenharmony_ci    <ItemGroup
26159b3361Sopenharmony_ci      Condition="'@(SelectedFiles)' != ''">
27159b3361Sopenharmony_ci      <NASM
28159b3361Sopenharmony_ci        Remove="@(NASM)"
29159b3361Sopenharmony_ci        Condition="'%(Identity)' != '@(SelectedFiles)'" />
30159b3361Sopenharmony_ci    </ItemGroup>
31159b3361Sopenharmony_ci    <ItemGroup>
32159b3361Sopenharmony_ci      <NASM_tlog
33159b3361Sopenharmony_ci        Include="%(NASM.Outputs)"
34159b3361Sopenharmony_ci        Condition="'%(NASM.Outputs)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'">
35159b3361Sopenharmony_ci        <Source>@(NASM, '|')</Source>
36159b3361Sopenharmony_ci      </NASM_tlog>
37159b3361Sopenharmony_ci    </ItemGroup>
38159b3361Sopenharmony_ci    <Message
39159b3361Sopenharmony_ci      Importance="High"
40159b3361Sopenharmony_ci      Text="%(NASM.ExecutionDescription)" />
41159b3361Sopenharmony_ci    <WriteLinesToFile
42159b3361Sopenharmony_ci      Condition="'@(NASM_tlog)' != '' and '%(NASM_tlog.ExcludedFromBuild)' != 'true'"
43159b3361Sopenharmony_ci      File="$(IntDir)$(ProjectName).write.1.tlog"
44159b3361Sopenharmony_ci      Lines="^%(NASM_tlog.Source);@(NASM_tlog-&gt;'%(Fullpath)')" />
45159b3361Sopenharmony_ci    <NASM
46159b3361Sopenharmony_ci      Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
47159b3361Sopenharmony_ci      CommandLineTemplate="%(NASM.CommandLineTemplate)"
48159b3361Sopenharmony_ci      OutFile="%(NASM.OutFile)"
49159b3361Sopenharmony_ci      BinFormat="%(NASM.BinFormat)"
50159b3361Sopenharmony_ci      IncludeDir="%(NASM.IncludeDir)"
51159b3361Sopenharmony_ci      Defines="%(NASM.Defines)"
52159b3361Sopenharmony_ci      AdditionalOptions="%(NASM.AdditionalOptions)"
53159b3361Sopenharmony_ci      Inputs="@(NASM)" />
54159b3361Sopenharmony_ci  </Target>
55159b3361Sopenharmony_ci  <PropertyGroup>
56159b3361Sopenharmony_ci    <ComputeLinkInputsTargets>
57159b3361Sopenharmony_ci            $(ComputeLinkInputsTargets);
58159b3361Sopenharmony_ci            ComputeNASMOutput;
59159b3361Sopenharmony_ci          </ComputeLinkInputsTargets>
60159b3361Sopenharmony_ci    <ComputeLibInputsTargets>
61159b3361Sopenharmony_ci            $(ComputeLibInputsTargets);
62159b3361Sopenharmony_ci            ComputeNASMOutput;
63159b3361Sopenharmony_ci          </ComputeLibInputsTargets>
64159b3361Sopenharmony_ci  </PropertyGroup>
65159b3361Sopenharmony_ci  <Target
66159b3361Sopenharmony_ci    Name="ComputeNASMOutput"
67159b3361Sopenharmony_ci    Condition="'@(NASM)' != ''">
68159b3361Sopenharmony_ci    <ItemGroup>
69159b3361Sopenharmony_ci      <NASMDirsToMake
70159b3361Sopenharmony_ci        Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
71159b3361Sopenharmony_ci        Include="%(NASM.OutFile)" />
72159b3361Sopenharmony_ci      <Link
73159b3361Sopenharmony_ci        Include="%(NASMDirsToMake.Identity)"
74159b3361Sopenharmony_ci        Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
75159b3361Sopenharmony_ci      <Lib
76159b3361Sopenharmony_ci        Include="%(NASMDirsToMake.Identity)"
77159b3361Sopenharmony_ci        Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
78159b3361Sopenharmony_ci      <ImpLib
79159b3361Sopenharmony_ci        Include="%(NASMDirsToMake.Identity)"
80159b3361Sopenharmony_ci        Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
81159b3361Sopenharmony_ci    </ItemGroup>
82159b3361Sopenharmony_ci    <MakeDir
83159b3361Sopenharmony_ci      Directories="@(NASMDirsToMake-&gt;'%(RootDir)%(Directory)')" />
84159b3361Sopenharmony_ci  </Target>
85159b3361Sopenharmony_ci</Project>