- <?xml version="1.0"?>
- <project name="Mosa" default="all" basedir=".">
- <description>The Mosa project</description>
- <!-- Comma-separated list of warnings that should be surpressed in all modules. Warning: no spaces allowed! -->
- <property name="suppresswarnings" value="0414,0219,0169,0162,0168"/>
- <!-- Toggle debug output by setting this to true (nant -D:debug=true) -->
- <property name="debug" value="none" overwrite="false"/>
- <!-- Speaks for itself, I should hope -->
- <property name="outputDirectory" value="${project::get-base-directory()}/../bin"/>
- <!-- Remove output directory -->
- <target name="clean">
- <delete dir="${outputDirectory}"/>
- </target>
- <!-- Create output directory -->
- <target name="init">
- <mkdir dir="${outputDirectory}"/>
- <mkdir dir="${outputDirectory}/prebuilt"/>
- </target>
- <!-- Subsystems -->
- <target name="classlib" depends="init"><nant buildfile="Mosa.ClassLib/mosa.build"/></target>
- <target name="devicesystem" depends="init, classlib"><nant buildfile="Mosa.DeviceSystem/mosa.build"/></target>
- <target name="devicedrivers" depends="init, classlib, devicesystem"><nant buildfile="Mosa.DeviceDrivers/mosa.build"/></target>
- <target name="filesystem" depends="init, classlib, devicesystem"><nant buildfile="Mosa.FileSystem/mosa.build"/></target>
- <target name="emulatedkernel" depends="init, classlib, devicesystem"><nant buildfile="Mosa.EmulatedKernel/mosa.build"/></target>
- <target name="emulateddevices" depends="init, classlib, devicesystem, emulatedkernel"><nant buildfile="Mosa.EmulatedDevices/mosa.build"/></target>
- <target name="kernel" depends="init,platforms,intrinsic"><nant buildfile="Mosa.Kernel/mosa.build"/></target>
- <target name="pictor" depends="init"><nant buildfile="Pictor/mosa.build"/></target>
- <target name="pictor.ui" depends="init, pictor"><nant buildfile="Pictor.UI/mosa.build"/></target>
- <target name="platforms" depends="init, runtime, common, linker"><nant buildfile="Mosa.Platform.x86/mosa.build"/></target>
- <target name="intrinsic" depends="init, runtime, platforms"><nant buildfile="Mosa.Platform.x86.Intrinsic/mosa.build"/></target>
- <target name="vm" depends="init"><nant buildfile="Mosa.Vm/mosa.build"/></target>
- <target name="runtime" depends="init,vm,metadata,fileformat,common,linker"><nant buildfile="Mosa.Runtime/mosa.build"/></target>
- <target name="metadata" depends="fileformat"><nant buildfile="Mosa.Runtime.Metadata/mosa.build"/></target>
- <target name="common" depends="init"><nant buildfile="Mosa.Compiler.Common/mosa.build"/></target>
- <target name="linker" depends="init,common"><nant buildfile="Mosa.Compiler.Linker/mosa.build"/></target>
- <target name="fileformat" depends="init"><nant buildfile="Mosa.Compiler.FileFormat/mosa.build"/></target>
- <target name="pdb" depends="init"><nant buildfile="Mosa.Compiler.Pdb/mosa.build"/></target>
- <target name="tools" depends="init, classlib, devicesystem, devicedrivers, filesystem, emulateddevices, kernel, platforms, runtime"><nant buildfile="Tools/mosa.build"/></target>
- <target name="helloworld" depends="init,kernel"><nant buildfile="Mosa.HelloWorld/mosa.build"/></target>
- <target name="emulator" depends="init, devicesystem, devicedrivers, emulatedkernel, filesystem, emulateddevices, classlib, pictor, pictor.ui"><nant buildfile="Mosa.Emulator/mosa.build"/></target>
- <target name="korlib" depends="init, vm"><nant buildfile="Korlib/mosa.build"/></target>
- <target name="test-cases" depends="init, test-collection, test-runtime"><nant buildfile="Mosa.Test.Cases/mosa.build"/></target>
- <target name="test-collection" depends="init"><nant buildfile="Mosa.Test.Collection/mosa.build"/></target>
- <target name="test-runtime" depends="init"><nant buildfile="Mosa.Test.Runtime.CompilerFramework/mosa.build"/></target>
- <target name="compiler" depends="platforms, runtime, linker, pdb"><nant buildfile="Mosa.Tools.Compiler/mosa.build"/></target>
- <!-- meta target -->
- <target name="tests" depends="test-cases, test-runtime"/>
- <target name="all" depends="classlib, devicesystem, devicedrivers, filesystem, emulatedkernel, emulateddevices, compiler, kernel, pictor, pictor.ui, platforms, runtime, tools, helloworld, emulator, korlib, tests"/>
- </project>