diff options
Diffstat (limited to 'Mkfiles/vc15/vsyasm.targets')
-rw-r--r-- | Mkfiles/vc15/vsyasm.targets | 108 |
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 |