You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
6.5 KiB
178 lines
6.5 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup>
|
|
<PropertyPageSchema
|
|
Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
|
|
<AvailableItemName
|
|
Include="Bison">
|
|
<Targets>BisonTarget</Targets>
|
|
</AvailableItemName>
|
|
<AvailableItemName
|
|
Include="Flex">
|
|
<Targets>FlexTarget</Targets>
|
|
</AvailableItemName>
|
|
</ItemGroup>
|
|
<UsingTask
|
|
TaskName="Bison"
|
|
TaskFactory="XamlTaskFactory"
|
|
AssemblyName="Microsoft.Build.Tasks.v4.0">
|
|
<Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
|
|
</UsingTask>
|
|
<UsingTask
|
|
TaskName="Flex"
|
|
TaskFactory="XamlTaskFactory"
|
|
AssemblyName="Microsoft.Build.Tasks.v4.0">
|
|
<Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
|
|
</UsingTask>
|
|
<Target
|
|
Name="BisonTarget"
|
|
BeforeTargets="$(BisonBeforeTargets)"
|
|
AfterTargets="$(BisonAfterTargets)"
|
|
Condition="'@(Bison)' != ''"
|
|
DependsOnTargets="$(BisonDependsOn);ComputeBisonOutput"
|
|
Outputs="%(Bison.Outputs)"
|
|
Inputs="%(Bison.Identity);%(Bison.AdditionalDependencies);$(MSBuildProjectFile)">
|
|
<ItemGroup
|
|
Condition="'@(SelectedFiles)' != ''">
|
|
<Bison
|
|
Remove="@(Bison)"
|
|
Condition="'%(Identity)' != '@(SelectedFiles)'" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Bison_tlog
|
|
Include="%(Bison.Outputs)"
|
|
Condition="'%(Bison.Outputs)' != '' and '%(Bison.ExcludedFromBuild)' != 'true'">
|
|
<Source>@(Bison, '|')</Source>
|
|
</Bison_tlog>
|
|
</ItemGroup>
|
|
<Message
|
|
Importance="High"
|
|
Text="%(Bison.ExecutionDescription)" />
|
|
<WriteLinesToFile
|
|
Condition="'@(Bison_tlog)' != '' and '%(Bison_tlog.ExcludedFromBuild)' != 'true'"
|
|
File="$(IntDir)$(ProjectName).write.1.tlog"
|
|
Lines="^%(Bison_tlog.Source);@(Bison_tlog->'%(Fullpath)')" />
|
|
<Bison
|
|
Condition="'@(Bison)' != '' and '%(Bison.ExcludedFromBuild)' != 'true'"
|
|
CommandLineTemplate="%(Bison.CommandLineTemplate)"
|
|
OutputFile="%(Bison.OutputFile)"
|
|
DefinesFile="%(Bison.DefinesFile)"
|
|
Debug="%(Bison.Debug)"
|
|
Verbose="%(Bison.Verbose)"
|
|
NoLines="%(Bison.NoLines)"
|
|
FilePrefix="%(Bison.FilePrefix)"
|
|
GraphFile="%(Bison.GraphFile)"
|
|
Warnings="%(Bison.Warnings)"
|
|
Report="%(Bison.Report)"
|
|
ReportFile="%(Bison.ReportFile)"
|
|
AdditionalOptions="%(Bison.AdditionalOptions)"
|
|
Inputs="%(Bison.Identity)" />
|
|
</Target>
|
|
<PropertyGroup>
|
|
<ComputeLinkInputsTargets>
|
|
$(ComputeLinkInputsTargets);
|
|
ComputeBisonOutput;
|
|
</ComputeLinkInputsTargets>
|
|
<ComputeLibInputsTargets>
|
|
$(ComputeLibInputsTargets);
|
|
ComputeBisonOutput;
|
|
</ComputeLibInputsTargets>
|
|
</PropertyGroup>
|
|
<Target
|
|
Name="ComputeBisonOutput"
|
|
Condition="'@(Bison)' != ''">
|
|
<ItemGroup>
|
|
<BisonDirsToMake
|
|
Condition="'@(Bison)' != '' and '%(Bison.ExcludedFromBuild)' != 'true'"
|
|
Include="%(Bison.Outputs)" />
|
|
<Link
|
|
Include="%(BisonDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
<Lib
|
|
Include="%(BisonDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
<ImpLib
|
|
Include="%(BisonDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
</ItemGroup>
|
|
<MakeDir
|
|
Directories="@(BisonDirsToMake->'%(RootDir)%(Directory)')" />
|
|
</Target>
|
|
<Target
|
|
Name="FlexTarget"
|
|
BeforeTargets="$(FlexBeforeTargets)"
|
|
AfterTargets="$(FlexAfterTargets)"
|
|
Condition="'@(Flex)' != ''"
|
|
DependsOnTargets="$(FlexDependsOn);ComputeFlexOutput"
|
|
Outputs="%(Flex.Outputs)"
|
|
Inputs="%(Flex.Identity);%(Flex.AdditionalDependencies);$(MSBuildProjectFile)">
|
|
<ItemGroup
|
|
Condition="'@(SelectedFiles)' != ''">
|
|
<Flex
|
|
Remove="@(Flex)"
|
|
Condition="'%(Identity)' != '@(SelectedFiles)'" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Flex_tlog
|
|
Include="%(Flex.Outputs)"
|
|
Condition="'%(Flex.Outputs)' != '' and '%(Flex.ExcludedFromBuild)' != 'true'">
|
|
<Source>@(Flex, '|')</Source>
|
|
</Flex_tlog>
|
|
</ItemGroup>
|
|
<Message
|
|
Importance="High"
|
|
Text="%(Flex.ExecutionDescription)" />
|
|
<WriteLinesToFile
|
|
Condition="'@(Flex_tlog)' != '' and '%(Flex_tlog.ExcludedFromBuild)' != 'true'"
|
|
File="$(IntDir)$(ProjectName).write.1.tlog"
|
|
Lines="^%(Flex_tlog.Source);@(Flex_tlog->'%(Fullpath)')" />
|
|
<Flex
|
|
Condition="'@(Flex)' != '' and '%(Flex.ExcludedFromBuild)' != 'true'"
|
|
CommandLineTemplate="%(Flex.CommandLineTemplate)"
|
|
OutputFile="%(Flex.OutputFile)"
|
|
HeaderFile="%(Flex.HeaderFile)"
|
|
Prefix="%(Flex.Prefix)"
|
|
Wincompat="%(Flex.Wincompat)"
|
|
CaseInsensitive="%(Flex.CaseInsensitive)"
|
|
LexCompat="%(Flex.LexCompat)"
|
|
Stack="%(Flex.Stack)"
|
|
BisonBridge="%(Flex.BisonBridge)"
|
|
Noline="%(Flex.Noline)"
|
|
Reentrant="%(Flex.Reentrant)"
|
|
Cpp="%(Flex.Cpp)"
|
|
CppClassName="%(Flex.CppClassName)"
|
|
Debug="%(Flex.Debug)"
|
|
AdditionalOptions="%(Flex.AdditionalOptions)"
|
|
Inputs="%(Flex.Identity)" />
|
|
</Target>
|
|
<PropertyGroup>
|
|
<ComputeLinkInputsTargets>
|
|
$(ComputeLinkInputsTargets);
|
|
ComputeFlexOutput;
|
|
</ComputeLinkInputsTargets>
|
|
<ComputeLibInputsTargets>
|
|
$(ComputeLibInputsTargets);
|
|
ComputeFlexOutput;
|
|
</ComputeLibInputsTargets>
|
|
</PropertyGroup>
|
|
<Target
|
|
Name="ComputeFlexOutput"
|
|
Condition="'@(Flex)' != ''">
|
|
<ItemGroup>
|
|
<FlexDirsToMake
|
|
Condition="'@(Flex)' != '' and '%(Flex.ExcludedFromBuild)' != 'true'"
|
|
Include="%(Flex.Outputs)" />
|
|
<Link
|
|
Include="%(FlexDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
<Lib
|
|
Include="%(FlexDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
<ImpLib
|
|
Include="%(FlexDirsToMake.Identity)"
|
|
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
|
|
</ItemGroup>
|
|
<MakeDir
|
|
Directories="@(FlexDirsToMake->'%(RootDir)%(Directory)')" />
|
|
</Target>
|
|
</Project> |