# * need to fix Cabal for new Windows layout, see
# Distribution/Simple/GHC.configureToolchain.
#
-# As we merge the new build system into HEAD:
+# Once the new build system is in HEAD, and before 6.12:
#
# * remove old Makefiles, add new stubs for building in subdirs
# * utils/hsc2hs/Makefile
# * utils/haddock/Makefile
# * mk/oldconfig.mk.in
-#
-# Once the new build system is in HEAD, and before 6.12:
-#
+# * docs/Makefile
+# * docs/docbook-cheat-sheet/Makefile
+# * docs/ext-core/Makefile
+# * docs/man/Makefile
+# * docs/storage-mgmt/Makefile
+# * docs/users_guide/Makefile
+# * docs/vh/Makefile
+# * driver/Makefile
+# * driver/ghc/Makefile
+# * libraries/Makefile
+# * rts/dotnet/Makefile
+# * utils/Makefile
# * docbook PDFs, e.g. "dblatex -T db2latex users_guide.xml"
# * GhcProfiled
# * optionally install stage3?
-# * why does so much stuff get rebuilt after re-configuring?
# * shared libraries, way dyn
-# * add pointers to wiki docs from the build system source
# * get HC bootstrapping working
# * add Makefiles for the rest of the utils/ programs that aren't built
# by default (need to exclude them from 'make all' too)
#
# Tickets we can now close, or fix and close:
#
-# * 2744 check for presence of hsc2hs in ./configure
# * 2966 make sure --with-gcc does the right thing (#2966)
-# * 3115 make ghc.cabal read-only
-# * 2107 install the docs by default
# * 1693 make distclean
# * 2689 make maintainer-clean
-# * 2619 bootstrapping using a newer GHC shouldn't fail
-# for bogus reasons (picking the wrong version of the ghc package)
-# * 2770 check which version of gcc we require
# * 3173 make install with DESTDIR
# Possible cleanups:
# a state where the package database is out of date, and the build
# system doesn't know.
-# NOTES on how to debug:
-# make --debug=b --debug=m shows dependencies
-# make -p prints all generated makefile rules and variables
-# make show VALUE=VAR prints the value of VAR
-# $(warning stuff) prints stuff when reading the makefile
-
# Approximate build order.
#
# The actual build order is defined by dependencies, and the phase
# -----------------------------------------------------------------------------
# Include build instructions from all subdirs
-# See commentary in the top-level Makefile for why we divide the build
-# into phases.
+# For the rationale behind the build phases, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering
# Setting foo_dist_DISABLE=YES means "in directory foo, for build
# "dist", just read the package-data.mk file, do not build anything".