+# Minimal set of directories to build, and files used to run the 'mcs' compiler
+MCS_BASIC_DIRS = jay mcs class/corlib class/System
+MCS_BASIC_FILES = \
+ $(mcs_topdir)/mcs/mcs.exe \
+ $(mcs_topdir)/class/lib/default/mscorlib.dll \
+ $(mcs_topdir)/class/lib/default/System.dll
+
+# Set of directories and files the 'mcs' compiler can use
+## We build class/System twice to resolve the cyclic dependency of class/System.XML
+MCS_DIRS = $(MCS_BASIC_DIRS) class/System.XML class/System class/Mono.CSharp.Debugger
+MCS_FILES = $(MCS_BASIC_FILES) \
+ $(mcs_topdir)/class/lib/default/System.Xml.dll \
+ $(mcs_topdir)/class/lib/default/Mono.CSharp.Debugger.dll
+
+bootstrap: tmpinst-mcs-basic-build mono-do-runtime-only
+ $(MAKE) tmpinst-mcs-short-build
+ $(MAKE) fasterstrap
+
+faststrap: tmpinst-mcs-short-build
+ $(MAKE) mono-do-runtime-only
+ $(MAKE) fasterstrap
+
+fasterstrap: tmpinst-mcs-full-build
+ rm -f $(top_srcdir)/runtime/*/*.dll $(top_srcdir)/runtime/*.exe
+ $(MAKE)