1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
<!--
***********************************************************************************************
FsLexYacc.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
PowerPack build rules.
Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="FsLex" AssemblyFile="FsLexYacc.Build.Tasks.dll"/>
<UsingTask TaskName="FsYacc" AssemblyFile="FsLexYacc.Build.Tasks.dll"/>
<PropertyGroup>
<CompileDependsOn>CallFsLex;CallFsYacc;$(CompileDependsOn)</CompileDependsOn>
</PropertyGroup>
<!-- Build FsLex files. -->
<Target
Name="CallFsLex"
Inputs="@(FsLex)"
Outputs="@(FsLex->'$(FsLexOutputFolder)%(Filename).fs')"
Condition="'@(FsLex)'!=''">
<!-- Create the output directory -->
<MakeDir Directories="$(FsLexOutputFolder)"/>
<!-- Call FsLex -->
<FsLex
InputFile="%(FsLex.Identity)"
OutputFile="$(FsLexOutputFolder)%(FsLex.Filename).fs"
ToolPath="$(FsLexToolPath)"
ToolExe="$(FsLexToolExe)"
OtherFlags="%(FsLex.OtherFlags)"
Unicode="$(FsLexUnicode)">
<!-- Track outputs for 'Clean' -->
<Output TaskParameter="OutputFile" ItemName="FileWrites"/>
</FsLex>
<!-- Make sure it will get cleaned -->
<CreateItem Include="$(FsLexOutputFolder)%(FsLex.Filename).fs">
<Output TaskParameter="Include" ItemName="FileWrites"/>
</CreateItem>
</Target>
<!-- Build FsYacc files. -->
<Target
Name="CallFsYacc"
Inputs="@(FsYacc)"
Outputs="@(FsYacc->'$(FsYaccOutputFolder)%(Filename).fs')"
Condition="'@(FsYacc)'!=''">
<!-- Create the output directory -->
<MakeDir Directories="$(FsYaccOutputFolder)"/>
<!-- Call FsYacc -->
<FsYacc
InputFile="%(FsYacc.Identity)"
OutputFile="$(FsYaccOutputFolder)%(FsYacc.Filename).fs"
VerboseFile="$(FsYaccOutputFolder)%(FsYacc.Filename).fsyacc.output"
Open="%(FsYacc.Open)"
Module="%(FsYacc.Module)"
OtherFlags="%(FsYacc.OtherFlags)"
ToolPath="$(FsYaccToolPath)"
ToolExe="$(FsYaccToolExe)">
<!-- Track outputs for 'Clean' -->
<Output TaskParameter="OutputFile" ItemName="FileWrites"/>
</FsYacc>
<!-- Make sure it will get cleaned -->
<CreateItem Include="$(FsYaccOutputFolder)%(FsYacc.Filename).fs">
<Output TaskParameter="Include" ItemName="FileWrites"/>
</CreateItem>
</Target>
<ItemGroup>
<AvailableItemName Include="FsLex">
<Visible>false</Visible>
</AvailableItemName>
<AvailableItemName Include="FsYacc">
<Visible>false</Visible>
</AvailableItemName>
</ItemGroup>
</Project>
|