X64 transport [Part 3](Update VD)
[xy_vsfilter.git] / src / YASM.targets
blobab488d3961765934017ba7174539ad3be6f18943
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
3   <ItemGroup>\r
4     <PropertyPageSchema\r
5       Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />\r
6     <AvailableItemName\r
7       Include="YASM">\r
8       <Targets>_YASM</Targets>\r
9     </AvailableItemName>\r
10   </ItemGroup>\r
11   <UsingTask\r
12     TaskName="YASM"\r
13     TaskFactory="XamlTaskFactory"\r
14     AssemblyName="Microsoft.Build.Tasks.v4.0">\r
15     <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>\r
16   </UsingTask>\r
17   <Target\r
18     Name="_YASM"\r
19     BeforeTargets="$(YASMBeforeTargets)"\r
20     AfterTargets="$(YASMAfterTargets)"\r
21     Condition="'@(YASM)' != ''"\r
22     DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput"\r
23     Outputs="%(YASM.Outputs)"\r
24     Inputs="%(YASM.Identity);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)">\r
25     <ItemGroup\r
26       Condition="'@(SelectedFiles)' != ''">\r
27       <YASM\r
28         Remove="@(YASM)"\r
29         Condition="'%(Identity)' != '@(SelectedFiles)'" />\r
30     </ItemGroup>\r
31     <ItemGroup>\r
32       <YASM_tlog\r
33         Include="%(YASM.Outputs)"\r
34         Condition="'%(YASM.Outputs)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'">\r
35         <Source>@(YASM, '|')</Source>\r
36       </YASM_tlog>\r
37     </ItemGroup>\r
38     <Message\r
39       Importance="High"\r
40       Text="%(YASM.ExecutionDescription)" />\r
41     <WriteLinesToFile\r
42       Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'"\r
43       File="$(IntDir)$(ProjectName).write.1.tlog"\r
44       Lines="^%(YASM_tlog.Source);@(YASM_tlog-&gt;'%(Fullpath)')" />\r
45     <YASM\r
46       Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"\r
47       CommandLineTemplate="%(YASM.CommandLineTemplate)"\r
48       Debug="%(YASM.Debug)"\r
49       Defines="%(YASM.Defines)"\r
50       AdditionalOptions="%(YASM.AdditionalOptions)"\r
51       IncludePaths="%(YASM.IncludePaths)"\r
52       Inputs="%(YASM.Identity)" />\r
53   </Target>\r
54   <PropertyGroup>\r
55     <ComputeLinkInputsTargets>\r
56             $(ComputeLinkInputsTargets);\r
57             ComputeYASMOutput;\r
58           </ComputeLinkInputsTargets>\r
59     <ComputeLibInputsTargets>\r
60             $(ComputeLibInputsTargets);\r
61             ComputeYASMOutput;\r
62           </ComputeLibInputsTargets>\r
63   </PropertyGroup>\r
64   <Target\r
65     Name="ComputeYASMOutput"\r
66     Condition="'@(YASM)' != ''">\r
67     <ItemGroup>\r
68       <YASMDirsToMake\r
69         Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"\r
70         Include="%(YASM.Outputs)" />\r
71       <Link\r
72         Include="%(YASMDirsToMake.Identity)"\r
73         Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />\r
74       <Lib\r
75         Include="%(YASMDirsToMake.Identity)"\r
76         Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />\r
77       <ImpLib\r
78         Include="%(YASMDirsToMake.Identity)"\r
79         Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />\r
80     </ItemGroup>\r
81     <MakeDir\r
82       Directories="@(YASMDirsToMake-&gt;'%(RootDir)%(Directory)')" />\r
83   </Target>\r
84 </Project>