501 lines
33 KiB
Plaintext
501 lines
33 KiB
Plaintext
|
<!--
|
||
|
###############################################################################
|
||
|
#
|
||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
#
|
||
|
###############################################################################
|
||
|
-->
|
||
|
|
||
|
<Project DefaultTarget="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||
|
|
||
|
<Import Project="..\..\..\Paths.targets"/>
|
||
|
|
||
|
<Import Project="$(SINGULARITY_ROOT)\Targets\RuntimePaths.target"/>
|
||
|
|
||
|
<PropertyGroup>
|
||
|
<OBJDIR>$(APPRUNTIMENATIVEDIR)</OBJDIR>
|
||
|
<CorlibObjPath>$(APPRUNTIMENATIVEDIR)\Corlib.obj</CorlibObjPath>
|
||
|
<BINDIR>$(OBJROOT)\$(OBJRELRUNTIMEDIR)</BINDIR>
|
||
|
<CFLAGS>$(CFLAGS) /I"$(BINDIR)" /DSINGULARITY_PROCESS=1</CFLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /DSINGULARITY_PROCESS</AFLAGS>
|
||
|
<CORLIB_IL>$(APPRUNTIMEDIR)\Corlib.dll</CORLIB_IL>
|
||
|
<KERNEL>$(SINGULARITY_ROOT)\Kernel</KERNEL>
|
||
|
<NativeLibPath>$(APPRUNTIMENATIVEDIR)\native.$(Runtime).lib</NativeLibPath>
|
||
|
<Collector>$(COLLECTOR_APP)</Collector>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(Machine)'=='x86'">
|
||
|
<CFLAGS>$(CFLAGS) /Gr /DISA_X86=1 /DPTR_SIZE_32=1</CFLAGS>
|
||
|
<ACFLAGS>$(ACFLAGS) /DISA_X86=1 /DPTR_SIZE_32=1</ACFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(Machine)'=='x64'">
|
||
|
<CFLAGS>$(CFLAGS) /Gr /DISA_X64=1 /DPTR_SIZE_64=1</CFLAGS>
|
||
|
<ACFLAGS>$(ACFLAGS) /DISA_X64=1 /DPTR_SIZE_64=1</ACFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(Machine)'=='arm'">
|
||
|
<CFLAGS>$(CFLAGS) /QRarch5 /QRimplicit-import- /DISA_ARM=1 /DPTR_SIZE_32=1</CFLAGS>
|
||
|
<ACFLAGS>$(ACFLAGS) /DISA_ARM=1 /DPTR_SIZE_32=1</ACFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<Import Project="$(SINGULARITY_ROOT)\Kernel\GC.targets"/>
|
||
|
|
||
|
<PropertyGroup>
|
||
|
|
||
|
<!-- bartok common flags -->
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /Singularity</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /UnnameTracedPtrs=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /OmitFramePointer=false </BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /GCInlineArrayAllocations=false </BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /GCInlineFixedAllocations=false </BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /GCIntrinsicFixedAllocations=false </BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /GCInlineWriteBarrier=false</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /GenCoffLineNumber=false</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /WholeProgram=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /Warnings=true </BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /DisablePInvoke=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) $(BARTOK_COLLECTOR)</BARTOK_FLAGS>
|
||
|
|
||
|
<!-- bartok flags for corlib.obj -->
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) </CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /CompileOnly=true </CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /Warnings=true </CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) $(BARTOK_COLLECTOR)</CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /r:"$(LIBSDIR)\Singularity.V1.App.dll"</CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /r:"$(APPILLSDIR)\Console.App.ill"</CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /out: "$(APPRUNTIMENATIVEDIR)\CorLib.obj"</CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) /outdir: "$(APPRUNTIMENATIVEDIR)" </CORLIB_BARTOK_FLAGS>
|
||
|
<CORLIB_BARTOK_FLAGS>$(CORLIB_BARTOK_FLAGS) "$(APPRUNTIMEDIR)\Corlib.dll" </CORLIB_BARTOK_FLAGS>
|
||
|
|
||
|
<!-- bartok flags for testapp.obj -->
|
||
|
<TESTAPP_BARTOK_FLAGS>/verbosity:silence</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /GenAsmHeader="$(APPRUNTIMENATIVEDIR)\halclass.inc"</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /GenCppHeader="$(APPRUNTIMENATIVEDIR)\halclass.h"</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /IrTreeShake=false</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /IrTreeShakeLate=false</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /out:"$(APPRUNTIMENATIVEDIR)\testapp.obj"</TESTAPP_BARTOK_FLAGS>
|
||
|
<TESTAPP_BARTOK_FLAGS>$(TESTAPP_BARTOK_FLAGS) /outdir:"$(APPRUNTIMENATIVEDIR)"</TESTAPP_BARTOK_FLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<ItemGroup>
|
||
|
<ProjectReference Include="App.Corlib.csproj"/>
|
||
|
<ProjectReference Include="System.Compiler.Runtime.App.csproj"/>
|
||
|
<ProjectReference Include="Microsoft.SingSharp.Runtime.App.csproj"/>
|
||
|
<ProjectReference Include="Corlib.Contracts.csproj"/>
|
||
|
<ProjectReference Include="Singularity.V1.App.csproj"/>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<!-- Configuration-sensitive values -->
|
||
|
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /IrSimpleInliner=false</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /CoalesceExceptionThrow=false</BARTOK_FLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<!-- Machine-sensitive settings -->
|
||
|
<PropertyGroup Condition="'$(Machine)'=='x86'">
|
||
|
<BARTOK_FLAGS Condition="'$(SINGULARITY_LINKED_STACKS)'=='true'">$(BARTOK_FLAGS) /LinkedStacks=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS Condition="'$(SINGULARITY_STACK_CHECKS)'=='true'">$(BARTOK_FLAGS) /StackOverflowChecks=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /SymbolicDebug=true</BARTOK_FLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /I"$(SINGULARITY_ROOT)\kernel\native\ix"</AFLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /I"$(SINGULARITY_ROOT)\kernel\native\ix86"</AFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(Machine)'=='arm'">
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /PhoenixMirOpts=false</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /TargetArch=ARM</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /EnableIrExposeAllocationCall=true</BARTOK_FLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /I"$(SINGULARITY_ROOT)\kernel\native\arm"</AFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<PropertyGroup Condition="'$(Machine)'=='x64'">
|
||
|
<BARTOK_FLAGS>$(BARTOK_FLAGS) /x64</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS Condition="'$(SINGULARITY_LINKED_STACKS)'=='true'">$(BARTOK_FLAGS) /LinkedStacks=true</BARTOK_FLAGS>
|
||
|
<BARTOK_FLAGS Condition="'$(SINGULARITY_STACK_CHECKS)'=='true'">$(BARTOK_FLAGS) /StackOverflowChecks=true</BARTOK_FLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /I"$(SINGULARITY_ROOT)\kernel\native\ix"</AFLAGS>
|
||
|
<AFLAGS>$(AFLAGS) /I"$(SINGULARITY_ROOT)\kernel\native\ix64"</AFLAGS>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<!-- Common native sources -->
|
||
|
<ItemGroup>
|
||
|
<NativeIncludes Include="$(KERNEL)\Native\hal.h"/>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Buffer.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\CInit.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\DebugStub.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Decimal.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\EventController.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\EventDescriptor.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\GCTracing.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\IoPort.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\MemoryStorage.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Monitoring.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Number.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ProcessEntry.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Tracing.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ZoneAllocation.cpp"><OutputRelativeDir>Kernel\Native\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\halexn.cpp"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\Processor.cpp"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Singularity\Isal\isac.cpp"><OutputRelativeDir>Kernel\Singularity\Isal\</OutputRelativeDir></NativeSource>
|
||
|
<NativeIncludes Include="$(BartokSrcDir)\runtime\singularity\native\arch\$(BARTOK_MACHINE)\core.inc"/>
|
||
|
<NativeSource Include="$(BartokSrcDir)\runtime\shared\native\arch\$(BARTOK_MACHINE)\lib.asm"><OutputRelativeDir>Bartok\runtime\shared\native\arch\$(BARTOK_MACHINE)\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(BartokSrcDir)\runtime\singularity\native\arch\$(BARTOK_MACHINE)\lib.asm"><OutputRelativeDir>Bartok\runtime\singularity\native\arch\$(BARTOK_MACHINE)\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(BartokSrcDir)\runtime\singularity\native\arch\$(BARTOK_MACHINE)\gc.asm"><OutputRelativeDir>Bartok\runtime\singularity\native\arch\$(BARTOK_MACHINE)\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<!-- Machine-sensitive sources -->
|
||
|
<ItemGroup Condition="'$(Machine)'=='x86' or '$(Machine)'=='x64'">
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix\Thread.cpp"><OutputRelativeDir>Kernel\Native\ix\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix\halstack.asm"><OutputRelativeDir>Kernel\Native\ix\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix\kdnotify.asm"><OutputRelativeDir>Kernel\Native\ix\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Singularity\Isal\ix\isa.asm"><OutputRelativeDir>Kernel\Singularity\Isal\ix\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<ItemGroup Condition="'$(Machine)'=='x86'">
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\Math.cpp"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_lldiv.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_llmul.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_llrem.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_llshl.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_llshr.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_memcpy.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_memset.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_ulldiv.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_ulldvrm.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_ullrem.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix86\_ullshr.asm"><OutputRelativeDir>Kernel\Native\ix86\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<ItemGroup Condition="'$(Machine)'=='x64'">
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\Math.cpp"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\_memcpy.asm"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\_memset.asm"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\halProcessor.asm"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\ix64\halmath.asm"><OutputRelativeDir>Kernel\Native\ix64\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<ItemGroup Condition="'$(Machine)'=='arm'">
|
||
|
<NativeSource Include="Native\arm\liesapp.asm"><OutputRelativeDir>Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\arm\Math.cpp"><OutputRelativeDir>Kernel\Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\arm\Thread.cpp"><OutputRelativeDir>Kernel\Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\arm\lies.asm"><OutputRelativeDir>Kernel\Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\arm\interlocked_v5.asm"><OutputRelativeDir>Kernel\Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Singularity\Isal\Arm\isa.asm"><OutputRelativeDir>Kernel\Singularity\Isal\Arm\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Singularity\Isal\Arm\isatodo.asm"><OutputRelativeDir>Kernel\Singularity\Isal\Arm\</OutputRelativeDir></NativeSource>
|
||
|
|
||
|
<!-- Compiler intrinsics and runtime. -->
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\fpraise.cpp"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_negd.cpp"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\__div0.cpp"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\__udiv.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\__div.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\memcpy.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\memset.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\memmove.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_addd.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_adds.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_divd.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_divs.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_dtoi.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_dtoi64.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_dtos.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_dtou.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_dtou64.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_eqd.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_eqs.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_ged.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_ges.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_gtd.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_gts.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_i64tod.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_i64tos.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_itod.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_itos.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_led.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_les.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_ltd.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_lts.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_muld.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_muls.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_ned.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_nes.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_stod.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_stoi.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_stoi64.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_stou.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\r_stou64.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\e2d.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\mdsdiv64.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\error.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\check.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\fpdata.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\fnorm2.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\normop1.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\normop2.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\add.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\div.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\mul.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\nans.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
<NativeSource Include="$(KERNEL)\Native\Arm\Crt\normal.asm"><OutputRelativeDir>Kernel\Native\Arm\Crt\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<ItemGroup Condition="'$(Machine)'=='arm' and '$(Platform)'=='Omap3430'">
|
||
|
<NativeSource Include="$(KERNEL)\Native\arm\cyclecounter.asm"><OutputRelativeDir>Kernel\Native\arm\</OutputRelativeDir></NativeSource>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<!-- ================================== TARGETS ================================================== -->
|
||
|
|
||
|
<Target Name="BuildCorlibObj"
|
||
|
Inputs="$(CORLIB_IL)"
|
||
|
Outputs="$(CorlibObjPath)"
|
||
|
DependsOnTargets="BuildDependentProjects">
|
||
|
<Message Importance="High" Text="Building Corlib.obj"/>
|
||
|
<!-- /GenAsmHeader="$(APPRUNTIMEDIR)\halclass.inc" /GenCppHeader="$(APPRUNTIMEDIR)\halclass.h" -->
|
||
|
<!-- We specify the working directory to work around issues dealing with inheritance of the PATH variable. -->
|
||
|
<MakeDir Directories="$(APPRUNTIMENATIVEDIR)"/>
|
||
|
<Exec Command="$(BARTOK) $(BARTOK_FLAGS) $(CORLIB_BARTOK_FLAGS) > "$(APPRUNTIMENATIVEDIR)\corlib.log""/>
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
|
||
|
<!--
|
||
|
|
||
|
############################################################### Native Library
|
||
|
|
||
|
-->
|
||
|
|
||
|
<!--
|
||
|
Note: This target uses batching. All tasks within the target will be executed, once for each distinct
|
||
|
NativeSource item.
|
||
|
|
||
|
Notes about dependency checking: In general, we do not attempt to do fine-grained dependency checking
|
||
|
on #include dependencies, because:
|
||
|
* doing so is error-prone (the dependencies are in the code, not in the project)
|
||
|
* we don't have much C++ code, so it compiles fast
|
||
|
* nearly all of the C++ files depend on halclass.h, which is generated when any IL changes
|
||
|
|
||
|
So we just punt, and declare that all native sources depend on halclass.h (and halclass.inc),
|
||
|
and the handful of native header files that we have, which are declared as NativeIncludes items.
|
||
|
This means that we are conservative about dependencies; we may rebuild code when it is not strictly
|
||
|
necessary, but this is better than not building code that really has changed.
|
||
|
|
||
|
This target depends on BuildTestAppObj because that target generates halclass.h / halclass.inc.
|
||
|
-->
|
||
|
<Target Name="BuildNativeSources"
|
||
|
DependsOnTargets="BuildTestAppObj"
|
||
|
Inputs="
|
||
|
%(NativeSource.identity);
|
||
|
@(NativeIncludes);
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.h;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.inc;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.armfix.inc;
|
||
|
"
|
||
|
Outputs="$(APPRUNTIMENATIVEDIR)\%(NativeSource.OutputRelativeDir)\%(NativeSource.filename).obj"
|
||
|
>
|
||
|
<MakeDir Directories="$(APPRUNTIMENATIVEDIR);$(APPRUNTIMENATIVEDIR)\%(NativeSource.OutputRelativeDir)"/>
|
||
|
<Exec Command="$(CC) $(CFLAGS) %(__cpp_sources.CFlags) $(ACFLAGS) $(GC_ML_DEFS) /I"$(APPRUNTIMENATIVEDIR)" /I"$(KERNEL)\Native" /Fd"$(APPRUNTIMENATIVEDIR)\native.pdb" /Fo"$(APPRUNTIMENATIVEDIR)\%(NativeSource.OutputRelativeDir)\%(NativeSource.filename).obj" /c "%(NativeSource.identity)" "
|
||
|
Condition="'%(NativeSource.extension)'=='.c' or '%(NativeSource.extension)'=='.cpp'"
|
||
|
/>
|
||
|
<Exec Command="$(AS) $(AFLAGS) $(ACFLAGS) $(GC_ML_DEFS) /I"$(APPRUNTIMENATIVEDIR)" /I"$(KERNEL)\Native" /I"$(KERNEL)\Native\$(Machine)" /I"$(BartokSrcDir)\runtime\singularity\native\arch\$(BARTOK_MACHINE)" /Fo"$(APPRUNTIMENATIVEDIR)\%(NativeSource.OutputRelativeDir)\%(NativeSource.filename).obj" /c "%(NativeSource.identity)" "
|
||
|
Condition="'%(NativeSource.extension)'=='.asm'"/>
|
||
|
</Target>
|
||
|
|
||
|
<!--
|
||
|
This target is ONLY for debugging. It is not used by any other targets.
|
||
|
To use this target, use: msbuild Corlib.Native.proj /t:PreprocessNativeSources
|
||
|
Then look in %SINGULARITY_OBJROOT%\AppRuntimeNative\Prototype.x86.MarkSweep
|
||
|
-->
|
||
|
<Target Name="PreprocessNativeSources"
|
||
|
DependsOnTargets="BuildTestAppObj"
|
||
|
Inputs="
|
||
|
%(NativeSource.identity);
|
||
|
@(NativeIncludes);
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.h;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.inc;
|
||
|
"
|
||
|
Outputs="$(APPRUNTIMENATIVEDIR)\%(NativeSource.filename).i"
|
||
|
>
|
||
|
<Exec Command="$(CC) $(CFLAGS) %(__cpp_sources.CFlags) $(ACFLAGS) $(GC_ML_DEFS) /I"$(APPRUNTIMENATIVEDIR)" /I"$(NativeSrcDir)" /E /C "%(NativeSource.identity)" > "$(APPRUNTIMENATIVEDIR)\%(NativeSource.filename).i""
|
||
|
Condition="'%(NativeSource.extension)'=='.c' or '%(NativeSource.extension)'=='.cpp'"
|
||
|
/>
|
||
|
<!--
|
||
|
<Exec Command="$(AS) $(AFLAGS) $(ACFLAGS) $(GC_ML_DEFS) /I"$(APPRUNTIMENATIVEDIR)" /I"$(NativeSrcDir)" /I"$(NativeSrcDir)\$(Machine)" /Fo"$(APPRUNTIMENATIVEDIR)\%(NativeSource.filename).obj" /c "%(NativeSource.identity)" "
|
||
|
Condition="'%(NativeSource.extension)'=='.asm'"/>
|
||
|
-->
|
||
|
</Target>
|
||
|
|
||
|
<!-- This target creates __native_objs items from NativeSource items. -->
|
||
|
<Target Name="CreateNativeItems">
|
||
|
<CreateItem Include="$(APPRUNTIMENATIVEDIR)\%(NativeSource.OutputRelativeDir)\%(NativeSource.filename).obj">
|
||
|
<Output ItemName="__native_objs" TaskParameter="Include"/>
|
||
|
</CreateItem>
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="LinkNativeLib"
|
||
|
DependsOnTargets="BuildNativeSources;CreateNativeItems"
|
||
|
Inputs="@(__native_objs)"
|
||
|
Outputs="$(NativeLibPath)">
|
||
|
<Message Text="Linking native objects - $(NativeLibPath)"/>
|
||
|
<Delete Files="$(NativeLibPath)"/>
|
||
|
<!-- NOTE: ARM lib seems to have a bug with long command lines, so use a temp file -->
|
||
|
<WriteLinesToFile Overwrite="true"
|
||
|
File="$(TEMP)\nativelib.txt"
|
||
|
Lines="@(__native_objs->'"%(Identity)"')"
|
||
|
/>
|
||
|
<Exec Command="$(LIB) $(LIBFLAGS) /nod /out:"$(NativeLibPath)" @"$(TEMP)\nativelib.txt""/>
|
||
|
<Delete Files="$(TEMP)\nativelib.txt"/>
|
||
|
</Target>
|
||
|
|
||
|
<ItemGroup>
|
||
|
<NibLib Include="$(APPRUNTIMENATIVEDIR)\native.$(Runtime).lib"/>
|
||
|
<NibLib Include="$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib"/>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<Target Name="CopyNativeLibToNibLibCache"
|
||
|
Inputs="@(NibLib)"
|
||
|
Outputs="$(DISTRO_LIB_DIR)\%(NibLib.filename)%(NibLib.extension)"
|
||
|
DependsOnTargets="LinkNativeLib;BuildAbiLib">
|
||
|
<MakeDir Directories="$(DISTRO_LIB_DIR)"/>
|
||
|
<Copy SourceFiles="@(NibLib)" DestinationFolder="$(DISTRO_LIB_DIR)" SkipUnchangedFiles="true"/>
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<!--
|
||
|
|
||
|
$(OBJDIR)\testapp.exe : testapp.cs \
|
||
|
$(OBJDIR)\Corlib.dll \
|
||
|
$(APPILLSDIR)\singularity.V1.ill \
|
||
|
csc /nologo $(CSFLAGS) $(GC_CSC_DEFS) /nostdlib /warnaserror+ /nowarn:169,649 \
|
||
|
/d:SINGULARITY /d:SINGULARITY_PROCESS /D:PTR_SIZE_32 /d:LITTLE_ENDIAN \
|
||
|
/d:ENDPOINT_STRUCT \
|
||
|
/r:$(OBJDIR)\Corlib.dll \
|
||
|
/r:$(LIBSDIR)\Singularity.V1.dll \
|
||
|
/t:exe \
|
||
|
/out:$(OBJDIR)\testapp.exe testapp.cs
|
||
|
|
||
|
##############################################################################
|
||
|
-->
|
||
|
|
||
|
<!--
|
||
|
<WriteLinesToFile File="$(OBJDIR)\testapp_csc.txt" Lines="
|
||
|
/nologo $(CSFLAGS) $(GC_CSC_DEFS) /nostdlib /warnaserror+ /nowarn:169,649
|
||
|
/d:SINGULARITY /d:SINGULARITY_PROCESS /D:PTR_SIZE_32 /d:LITTLE_ENDIAN
|
||
|
/d:ENDPOINT_STRUCT;
|
||
|
@(TESTAPP_EXE_REFS->'/r:%(Identity)',' ');
|
||
|
/t:exe
|
||
|
/out:$(OBJDIR)\testapp.exe testapp.cs
|
||
|
" Overwrite="true"/>
|
||
|
|
||
|
<Exec Command="$(BUILDDIR)\csc.exe @$(OBJDIR)\testapp_csc.txt"/>
|
||
|
-->
|
||
|
|
||
|
|
||
|
<ItemGroup>
|
||
|
<TestAppReference Include="$(APPRUNTIMEDIR)\Corlib.dll"/>
|
||
|
<TestAppReference Include="$(LIBSDIR)\Singularity.V1.App.dll"/>
|
||
|
<TestAppReference Include="$(APPILLSDIR)\Console.App.ill"/>
|
||
|
<TestAppReference Include="$(APPRUNTIMEDIR)\System.Compiler.Runtime.dll"/>
|
||
|
<TestAppReference Include="$(APPRUNTIMEDIR)\Microsoft.SingSharp.Runtime.dll"/>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<Target Name="BuildTestAppIL">
|
||
|
<MSBuild Projects="TestApp.csproj" StopOnFirstFailure="$(StopOnFirstFailure)">
|
||
|
<Output PropertyName="TestAppILPath" TaskParameter="TargetOutputs"/>
|
||
|
</MSBuild>
|
||
|
<Message Text="TestAppILPath - $(TestAppILPath)"/>
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="BuildTestAppObj"
|
||
|
Inputs="$(TestAppILPath)"
|
||
|
Outputs="$(APPRUNTIMENATIVEDIR)\testapp.obj;$(APPRUNTIMENATIVEDIR)\testapp_superObj.obj;$(APPRUNTIMENATIVEDIR)\halclass.inc;$(APPRUNTIMENATIVEDIR)\halclass.h;$(APPRUNTIMENATIVEDIR)\halclass.armfix.inc"
|
||
|
DependsOnTargets="BuildTestAppIL"
|
||
|
>
|
||
|
<Message Text="Building testapp.obj"/>
|
||
|
<Message Text=" Native reference: %(TestAppReference.identity)"/>
|
||
|
|
||
|
<Exec Command="PATH $(SINGULARITY_PATH) & $(BARTOK) $(BARTOK_FLAGS) $(TESTAPP_BARTOK_FLAGS) "$(TestAppILPath)" @(TestAppReference->'"%(Identity)"',' ')"/>
|
||
|
<Exec Command=""$(SINGULARITY_ROOT)\Kernel\bararmfix.cmd" "$(APPRUNTIMENATIVEDIR)\halclass.inc" "$(APPRUNTIMENATIVEDIR)\halclass.armfix.inc""/>
|
||
|
<!-- > $(OBJDIR)\testapp.log -->
|
||
|
</Target>
|
||
|
|
||
|
<ItemGroup>
|
||
|
<NativeReference Include="$(OBJDIR)\native.$(Runtime).lib"/>
|
||
|
<NativeReference Include="$(OBJDIR)\testapp.obj"/>
|
||
|
<NativeReference Include="$(APPRUNTIMENATIVEDIR)\DebugStub.obj"/>
|
||
|
<NativeReference Include="$(APPRUNTIMENATIVEDIR)\Processor.obj"/>
|
||
|
<NativeReference Include="$(OBJDIR)\testapp_superObj.obj"/>
|
||
|
<NativeReference Include="$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib"/>
|
||
|
</ItemGroup>
|
||
|
|
||
|
<Target Name="LinkTestApp"
|
||
|
Inputs="@(NativeReference)"
|
||
|
Outputs="$(OBJDIR)\testapp.$(Machine)"
|
||
|
DependsOnTargets="BuildNativeLib;BuildTestAppObj"
|
||
|
>
|
||
|
<Message Text="Linking testapp native image"/>
|
||
|
<Exec Command="$(LINK) /out:"$(OBJDIR)\testapp.$(Machine)" /pdb:"$(OBJDIR)\testapp.$(Machine).pdb" $(LFLAGS) /fixed:no /MAP /base:0x2000000 /entry:RuntimeEntryPoint @(NativeReference->'"%(Identity)"',' ')"/>
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<Target Name="BuildDependentProjects">
|
||
|
<MSBuild Projects="@(ProjectReference)" StopOnFirstFailure="$(StopOnFirstFailure)" Condition="'$(BuildInParallel)'!='true'"/>
|
||
|
<MSBuild Projects="@(ProjectReference)" StopOnFirstFailure="$(StopOnFirstFailure)" Condition="'$(BuildInParallel)'=='true'" BuildInParallel="true"/>
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
<Target Name="Build" DependsOnTargets="
|
||
|
BuildDependentProjects;
|
||
|
BuildCorlibObj;
|
||
|
LinkNativeLib;
|
||
|
CopyNativeLibToNibLibCache;
|
||
|
BuildAbiLib;
|
||
|
">
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="PreprocessAbiDef">
|
||
|
<MSBuild Projects="$(SINGULARITY_ROOT)\Kernel\Kernel.proj" Targets="PreprocessAbiDef"/>
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
<!-- This builds the PE/COFF unmanaged import library for the app/kernel ABI. -->
|
||
|
<Target Name="BuildAbiLib"
|
||
|
Inputs="$(KERNEL_NATIVE_DIR)\$(SING_DEF_FILE)"
|
||
|
Outputs="$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib"
|
||
|
DependsOnTargets="PreprocessAbiDef">
|
||
|
|
||
|
<Message Text="Building ABI PE/COFF import library - $(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib" />
|
||
|
<MakeDir Directories="$(APPRUNTIMENATIVEDIR)" />
|
||
|
|
||
|
<!-- Preprocess it first. -->
|
||
|
<Exec Command="$(LIB) $(LIBFLAGS) "/def:$(KERNEL_NATIVE_DIR)\$(SING_DEF_FILE)" /out:"$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib"" />
|
||
|
</Target>
|
||
|
|
||
|
|
||
|
|
||
|
<Target Name="Clean">
|
||
|
<Delete Files="
|
||
|
@(NativeSource->'$(APPRUNTIMENATIVEDIR)\%(filename).obj');
|
||
|
$(APPRUNTIMENATIVEDIR)\native.$(Runtime).lib;
|
||
|
$(APPRUNTIMENATIVEDIR)\native.$(Runtime).pdb;
|
||
|
$(APPRUNTIMENATIVEDIR)\$(SING_DEF_FILE);
|
||
|
$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).lib;
|
||
|
$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).def;
|
||
|
$(APPRUNTIMENATIVEDIR)\Singularity.V1.$(Runtime).exp;
|
||
|
$(APPRUNTIMENATIVEDIR)\testapp.obj;
|
||
|
$(APPRUNTIMENATIVEDIR)\testapp_superObj.obj;
|
||
|
$(APPRUNTIMENATIVEDIR)\testapp_info.obj;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.h;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.inc;
|
||
|
$(APPRUNTIMENATIVEDIR)\halclass.armfix.inc;
|
||
|
$(APPRUNTIMENATIVEDIR)\Corlib.obj;
|
||
|
$(APPRUNTIMENATIVEDIR)\Corlib_info.obj;
|
||
|
"/>
|
||
|
</Target>
|
||
|
|
||
|
</Project>
|