summaryrefslogtreecommitdiff
path: root/Mkfiles/vc15/vsyasm.targets
diff options
context:
space:
mode:
Diffstat (limited to 'Mkfiles/vc15/vsyasm.targets')
-rw-r--r--Mkfiles/vc15/vsyasm.targets108
1 files changed, 108 insertions, 0 deletions
diff --git a/Mkfiles/vc15/vsyasm.targets b/Mkfiles/vc15/vsyasm.targets
new file mode 100644
index 00000000..3c084119
--- /dev/null
+++ b/Mkfiles/vc15/vsyasm.targets
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <PropertyPageSchema
+ Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
+ <AvailableItemName
+ Include="YASM">
+ <Targets>_YASM</Targets>
+ </AvailableItemName>
+ </ItemGroup>
+ <UsingTask
+ TaskName="YASM"
+ TaskFactory="XamlTaskFactory"
+ AssemblyName="Microsoft.Build.Tasks.v4.0">
+ <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
+ </UsingTask>
+ <Target
+ Name="_YASM"
+ BeforeTargets="$(YASMBeforeTargets)"
+ AfterTargets="$(YASMAfterTargets)"
+ Condition="'@(YASM)' != ''"
+ DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput"
+ Outputs="@(YASM->'%(ObjectFile)')"
+ Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)">
+ <ItemGroup
+ Condition="'@(SelectedFiles)' != ''">
+ <YASM
+ Remove="@(YASM)"
+ Condition="'%(Identity)' != '@(SelectedFiles)'" />
+ </ItemGroup>
+ <ItemGroup>
+ <YASM_tlog
+ Include="%(YASM.ObjectFile)"
+ Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'">
+ <Source>@(YASM, '|')</Source>
+ </YASM_tlog>
+ </ItemGroup>
+ <Message
+ Importance="High"
+ Text="%(YASM.ExecutionDescription)" />
+ <WriteLinesToFile
+ Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'"
+ File="$(IntDir)$(ProjectName).write.1.tlog"
+ Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" />
+ <YASM
+ Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"
+ CommandLineTemplate="%(YASM.CommandLineTemplate)"
+ Debug="%(YASM.Debug)"
+ PreIncludeFile="%(YASM.PreIncludeFile)"
+ IncludePaths="%(YASM.IncludePaths)"
+ Defines="%(YASM.Defines)"
+ UnDefines="%(YASM.UnDefines)"
+ ObjectFile="%(YASM.ObjectFile)"
+ ListFile="%(YASM.ListFile)"
+ MapFile="%(YASM.MapFile)"
+ ErrorFile="%(YASM.ErrorFile)"
+ SymbolPrefix="%(YASM.SymbolPrefix)"
+ SymbolSuffix="%(YASM.SymbolSuffix)"
+ PreProc="%(YASM.PreProc)"
+ Parser="%(YASM.Parser)"
+ AdditionalOptions="%(YASM.AdditionalOptions)"
+ Inputs="@(YASM)" />
+ </Target>
+ <PropertyGroup>
+ <ComputeLinkInputsTargets>
+ $(ComputeLinkInputsTargets);
+ ComputeYASMOutput;
+ </ComputeLinkInputsTargets>
+ <ComputeLibInputsTargets>
+ $(ComputeLibInputsTargets);
+ ComputeYASMOutput;
+ </ComputeLibInputsTargets>
+ </PropertyGroup>
+ <Target
+ Name="ComputeYASMOutput"
+ Condition="'@(YASM)' != ''">
+ <ItemGroup>
+ <YASMDirsToMake
+ Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')"
+ Include="%(YASM.ObjectFile)" />
+ <Link
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ <Lib
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ <ImpLib
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ </ItemGroup>
+ <ItemGroup>
+ <YASMDirsToMake
+ Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')"
+ Include="@(YASM->'%(ObjectFile)%(Filename).obj')" />
+ <Link
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ <Lib
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ <ImpLib
+ Include="%(YASMDirsToMake.Identity)"
+ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
+ </ItemGroup>
+ <MakeDir
+ Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" />
+ </Target>
+</Project> \ No newline at end of file