+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Target Name="PreAOT"
+ AfterTargets="_TizenPrepareTpkPackage"
+ BeforeTargets="TizenPrepareCertificate">
+
+ <PropertyGroup>
+ <TpkRootPath>$(OutputPath)tpkroot/</TpkRootPath>
+ <BinPath>$(TpkRootPath)bin/</BinPath>
+ <LibPath>$(TpkRootPath)lib/</LibPath>
+ <BinNativeImagePath>$(BinPath).native_image/</BinNativeImagePath>
+ <LibNativeImagePath>$(LibPath).native_image/</LibNativeImagePath>
+ </PropertyGroup>
+
+ <Exec Command ="find $(BinPath) -maxdepth 1 -name '*.dll'" ConsoleToMSBuild="true" >
+ <Output TaskParameter="ConsoleOutput" PropertyName="FindDllOfBin" />
+ </Exec>
+ <Exec Command ="find $(LibPath) -maxdepth 1 -name '*.dll'" ConsoleToMSBuild="true" >
+ <Output TaskParameter="ConsoleOutput" PropertyName="FindDllOfLib" />
+ </Exec>
+ <Exec Command ="find $(BinPath) -maxdepth 1 -name '*.pdb'" ConsoleToMSBuild="true" >
+ <Output TaskParameter="ConsoleOutput" PropertyName="FindPdbOfBin" />
+ </Exec>
+ <Exec Command ="find $(LibPath) -maxdepth 1 -name '*.pdb'" ConsoleToMSBuild="true" >
+ <Output TaskParameter="ConsoleOutput" PropertyName="FindPdbOfLib" />
+ </Exec>
+
+ <ItemGroup>
+ <DllListOfBin Include="$(FindDllOfBin)" />
+ </ItemGroup>
+ <ItemGroup>
+ <DllListOfLib Include="$(FindDllOfLib)" />
+ </ItemGroup>
+ <ItemGroup>
+ <PdbListOfBin Include="$(FindPdbOfBin)" />
+ </ItemGroup>
+ <ItemGroup>
+ <PdbListOfLib Include="$(FindPdbOfLib)" />
+ </ItemGroup>
+
+ <Exec Command="mkdir $(BinNativeImagePath)" Condition="@(DllListOfBin->Count()) != 0 OR @(PdbListOfBin->Count()) != 0" />
+ <Exec Command="mkdir $(LibNativeImagePath)" Condition="@(DllListOfLib->Count()) != 0 OR @(PdbListOfLib->Count()) != 0" />
+
+ <Exec Command="crossgen2 --jitpath /usr/share/dotnet-build-tools/sdk/crossgen2/libclrjit_unix_$(TizenGBSBuildArch)_x64.so --targetarch $(TizenGBSBuildArch) -o $(BinNativeImagePath)%(DllListOfBin.Filename).ni%(DllListOfBin.Extension) --resilient --Ot -r:/usr/share/dotnet-build-tools/sdk/crossgen2/ref/*.dll -r:$(IntermediateOutputPath)crossgen2/ref/*.dll %(DllListOfBin.Identity)" EnvironmentVariables="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1" Condition="'$(TizenGBSBuildArch)' != '' and '%(DllListOfBin.Identity)' != ''" />
+ <Exec Command="crossgen2 --jitpath /usr/share/dotnet-build-tools/sdk/crossgen2/libclrjit_unix_$(TizenGBSBuildArch)_x64.so --targetarch $(TizenGBSBuildArch) -o $(LibNativeImagePath)%(DllListOfLib.Filename).ni%(DllListOfLib.Extension) --resilient --Ot -r:/usr/share/dotnet-build-tools/sdk/crossgen2/ref/*.dll -r:$(IntermediateOutputPath)crossgen2/ref/*.dll %(DllListOfLib.Identity)" EnvironmentVariables="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1" Condition="'$(TizenGBSBuildArch)' != '' and '%(DllListOfLib.Identity)' != ''" />
+
+ <Exec Command="cp %(PdbListOfBin.Identity) $(BinNativeImagePath)" Condition="'%(PdbListOfBin.Identity)' != ''" />
+ <Exec Command="cp %(PdbListOfLib.Identity) $(LibNativeImagePath)" Condition="'%(PdbListOfLib.Identity)' != ''" />
+
+ <Exec Command="touch $(BinPath)._TIZEN_DOTNET_PRE_COMPILED_PACKAGE" />
+ </Target>
+</Project>