summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile11
-rw-r--r--bindisttest/Makefile11
-rw-r--r--compiler/Makefile12
-rw-r--r--compiler/ghc.mk12
-rw-r--r--docs/users_guide/ghc.mk11
-rw-r--r--driver/ghc.mk11
-rw-r--r--driver/ghc/ghc.mk12
-rw-r--r--driver/ghci/Makefile12
-rw-r--r--driver/ghci/ghc.mk12
-rw-r--r--driver/mangler/Makefile12
-rw-r--r--driver/mangler/ghc.mk12
-rw-r--r--driver/split/Makefile12
-rw-r--r--driver/split/ghc.mk12
-rw-r--r--ghc.mk12
-rw-r--r--ghc/Makefile12
-rw-r--r--ghc/ghc.mk12
-rw-r--r--gmp/ghc.mk12
-rw-r--r--includes/Makefile12
-rw-r--r--includes/ghc.mk12
-rw-r--r--libffi/Makefile12
-rw-r--r--libffi/ghc.mk12
-rw-r--r--rts/Makefile12
-rw-r--r--rts/ghc.mk12
-rw-r--r--rules/all-target.mk11
-rw-r--r--rules/bindist.mk12
-rw-r--r--rules/build-dependencies.mk12
-rw-r--r--rules/build-package-data.mk12
-rw-r--r--rules/build-package-way.mk12
-rw-r--r--rules/build-package.mk12
-rw-r--r--rules/build-perl.mk12
-rw-r--r--rules/build-prog.mk16
-rw-r--r--rules/c-objs.mk12
-rw-r--r--rules/c-sources.mk12
-rw-r--r--rules/c-suffix-rules.mk12
-rw-r--r--rules/clean-target.mk12
-rw-r--r--rules/distdir-opts.mk12
-rw-r--r--rules/distdir-way-opts.mk12
-rw-r--r--rules/docbook.mk12
-rw-r--r--rules/haddock.mk12
-rw-r--r--rules/hi-rule.mk12
-rw-r--r--rules/hs-objs.mk12
-rw-r--r--rules/hs-sources.mk12
-rw-r--r--rules/hs-suffix-rules-srcdir.mk12
-rw-r--r--rules/hs-suffix-rules.mk12
-rw-r--r--rules/includes-sources.mk12
-rw-r--r--rules/manual-package-config.mk13
-rw-r--r--rules/package-config.mk13
-rw-r--r--rules/shell-wrapper.mk12
-rw-r--r--rules/way-prelims.mk11
-rw-r--r--utils/genapply/Makefile12
-rw-r--r--utils/genapply/ghc.mk12
-rw-r--r--utils/genprimopcode/Makefile12
-rw-r--r--utils/genprimopcode/ghc.mk12
-rw-r--r--utils/ghc-cabal/ghc.mk11
-rw-r--r--utils/ghc-pkg/Makefile12
-rw-r--r--utils/ghc-pkg/ghc.mk12
-rw-r--r--utils/hasktags/Makefile12
-rw-r--r--utils/hasktags/ghc.mk12
-rw-r--r--utils/hp2ps/Makefile12
-rw-r--r--utils/hp2ps/ghc.mk12
-rw-r--r--utils/hpc/Makefile12
-rw-r--r--utils/hpc/ghc.mk12
-rw-r--r--utils/mkdependC/Makefile12
-rw-r--r--utils/mkdependC/ghc.mk12
-rw-r--r--utils/mkdirhier/Makefile12
-rw-r--r--utils/mkdirhier/ghc.mk12
-rw-r--r--utils/runghc/Makefile12
-rw-r--r--utils/runghc/ghc.mk12
-rw-r--r--utils/touchy/Makefile12
-rw-r--r--utils/touchy/ghc.mk12
-rw-r--r--utils/unlit/Makefile12
-rw-r--r--utils/unlit/ghc.mk12
72 files changed, 861 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 273c5c4567..bca8e86432 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
ifeq "$(wildcard distrib/)" ""
diff --git a/bindisttest/Makefile b/bindisttest/Makefile
index 8e2b911214..e0ec21abe2 100644
--- a/bindisttest/Makefile
+++ b/bindisttest/Makefile
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
.PHONY: default_target
diff --git a/compiler/Makefile b/compiler/Makefile
index f85e1c893c..f5a74f4aba 100644
--- a/compiler/Makefile
+++ b/compiler/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = compiler
TOP = ..
SPEC_TARGETS = 1 2 3
diff --git a/compiler/ghc.mk b/compiler/ghc.mk
index a1969e8f98..ce5e545a53 100644
--- a/compiler/ghc.mk
+++ b/compiler/ghc.mk
@@ -1,4 +1,16 @@
# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
+# -----------------------------------------------------------------------------
# For expressing extra dependencies on source files
define compiler-hs-dependency # args: $1 = module, $2 = dependency
diff --git a/docs/users_guide/ghc.mk b/docs/users_guide/ghc.mk
index bae39adce8..644f381b06 100644
--- a/docs/users_guide/ghc.mk
+++ b/docs/users_guide/ghc.mk
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
docs/users_guide_DOCBOOK_SOURCES := \
$(wildcard docs/users_guide/*.xml) \
diff --git a/driver/ghc.mk b/driver/ghc.mk
index 7739f6b2a9..bbdee96d51 100644
--- a/driver/ghc.mk
+++ b/driver/ghc.mk
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
$(eval $(call all-target,driver,$(INPLACE_LIB)/ghc-usage.txt) $(INPLACE_LIB)/ghci-usage.txt)
diff --git a/driver/ghc/ghc.mk b/driver/ghc/ghc.mk
index 68d35cb679..95526831d7 100644
--- a/driver/ghc/ghc.mk
+++ b/driver/ghc/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
ifeq "$(Windows)" "YES"
driver/ghc_dist_C_SRCS = ghc.c
diff --git a/driver/ghci/Makefile b/driver/ghci/Makefile
index afb57176fb..9935c9cef8 100644
--- a/driver/ghci/Makefile
+++ b/driver/ghci/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = driver/ghci
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/driver/ghci/ghc.mk b/driver/ghci/ghc.mk
index 14e27123a7..dd3f213af3 100644
--- a/driver/ghci/ghc.mk
+++ b/driver/ghci/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
ifneq "$(Windows)" "YES"
install: install_driver_ghci
diff --git a/driver/mangler/Makefile b/driver/mangler/Makefile
index ff1a4a9ee8..58a1761a04 100644
--- a/driver/mangler/Makefile
+++ b/driver/mangler/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = driver/mangler
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/driver/mangler/ghc.mk b/driver/mangler/ghc.mk
index c5cb3d6b7f..f07b609257 100644
--- a/driver/mangler/ghc.mk
+++ b/driver/mangler/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
driver/mangler_PERL_SRC = ghc-asm.lprl
driver/mangler_dist_PROG = $(GHC_MANGLER_PGM)
driver/mangler_dist_LIBEXEC = YES
diff --git a/driver/split/Makefile b/driver/split/Makefile
index a73eeeb05b..33e46c5340 100644
--- a/driver/split/Makefile
+++ b/driver/split/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = driver/split
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/driver/split/ghc.mk b/driver/split/ghc.mk
index 30382e090d..eeec8e7fb2 100644
--- a/driver/split/ghc.mk
+++ b/driver/split/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
driver/split_PERL_SRC = ghc-split.lprl
driver/split_dist_PROG = $(GHC_SPLIT_PGM)
driver/split_dist_LIBEXEC = YES
diff --git a/ghc.mk b/ghc.mk
index 9944d7b00d..15d0b35e0c 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# ToDo List.
#
# Before we can merge the new build system into HEAD:
diff --git a/ghc/Makefile b/ghc/Makefile
index 664df24c4a..ea15e9d3d4 100644
--- a/ghc/Makefile
+++ b/ghc/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = ghc
TOP = ..
SPEC_TARGETS = 1 2 3
diff --git a/ghc/ghc.mk b/ghc/ghc.mk
index 7f9c630771..ccd4c5d685 100644
--- a/ghc/ghc.mk
+++ b/ghc/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# ToDo
ghc_USES_CABAL = NO
# ghc_PACKAGE = ghc-bin
diff --git a/gmp/ghc.mk b/gmp/ghc.mk
index 1a71e17878..42c6c16482 100644
--- a/gmp/ghc.mk
+++ b/gmp/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Compile GMP only if we don't have it already
#
diff --git a/includes/Makefile b/includes/Makefile
index bce3937dbf..abb1b92958 100644
--- a/includes/Makefile
+++ b/includes/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = includes
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/includes/ghc.mk b/includes/ghc.mk
index 4e9a59823f..763f8c7611 100644
--- a/includes/ghc.mk
+++ b/includes/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
#
# Header files built from the configure script's findings
#
diff --git a/libffi/Makefile b/libffi/Makefile
index 3d6f949584..fdc9fff734 100644
--- a/libffi/Makefile
+++ b/libffi/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = libffi
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/libffi/ghc.mk b/libffi/ghc.mk
index eca8dd2e11..50bce7862b 100644
--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# We package libffi as Haskell package for two reasons:
diff --git a/rts/Makefile b/rts/Makefile
index 0497a74442..74f7fad95c 100644
--- a/rts/Makefile
+++ b/rts/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = rts
TOP = ..
include $(TOP)/mk/sub-makefile.mk
diff --git a/rts/ghc.mk b/rts/ghc.mk
index e684f62c28..25a264924f 100644
--- a/rts/ghc.mk
+++ b/rts/ghc.mk
@@ -1,4 +1,16 @@
# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
+# -----------------------------------------------------------------------------
# Building the RTS
# We build the RTS with stage 1
diff --git a/rules/all-target.mk b/rules/all-target.mk
index 976ff1debe..3d334a0c5a 100644
--- a/rules/all-target.mk
+++ b/rules/all-target.mk
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
define all-target # args: $1 = dir, $2 = deps
all : all_$1
diff --git a/rules/bindist.mk b/rules/bindist.mk
index b9e093c56e..13ded8bbff 100644
--- a/rules/bindist.mk
+++ b/rules/bindist.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Add files to the bindist. Invoke like this:
#
diff --git a/rules/build-dependencies.mk b/rules/build-dependencies.mk
index 860a2f6ff3..69f6d7ea95 100644
--- a/rules/build-dependencies.mk
+++ b/rules/build-dependencies.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define build-dependencies # args: $1 = dir, $2 = distdir
diff --git a/rules/build-package-data.mk b/rules/build-package-data.mk
index 206a6591f9..a260138286 100644
--- a/rules/build-package-data.mk
+++ b/rules/build-package-data.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define build-package-data # args: $1 = dir, $2 = distdir
ifeq "$(HSCOLOUR_SRCS)" "YES"
diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk
index 086c231b43..12492d7e73 100644
--- a/rules/build-package-way.mk
+++ b/rules/build-package-way.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define build-package-way # $1 = dir, $2 = distdir, $3 = way, $4 = stage
diff --git a/rules/build-package.mk b/rules/build-package.mk
index 4ca3c6e66f..b2b3093e19 100644
--- a/rules/build-package.mk
+++ b/rules/build-package.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Build a package with the stage-1 compiler, multiple ways. A typical
# libraries/foo/ghc.mk will look like this:
diff --git a/rules/build-perl.mk b/rules/build-perl.mk
index 48694e460e..8e31b89275 100644
--- a/rules/build-perl.mk
+++ b/rules/build-perl.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Build a perl script. Invoke like this:
#
diff --git a/rules/build-prog.mk b/rules/build-prog.mk
index 46dd5af273..1a2256b17b 100644
--- a/rules/build-prog.mk
+++ b/rules/build-prog.mk
@@ -1,11 +1,23 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
-# Build a program with the stage-1 compiler. Invoke like this:
+# Build a program. Invoke like this:
#
# utils/genapply_MODULES = Main
# utils/genapply_HC_OPTS = -package Cabal
# utils/genapply_dist_PROG = genapply
#
-# $(eval $(call build-prog,utils/genapply,dist-install))
+# $(eval $(call build-prog,utils/genapply,dist-install,1))
define build-prog
# $1 = dir
diff --git a/rules/c-objs.mk b/rules/c-objs.mk
index b8514b6d60..fbf35535fc 100644
--- a/rules/c-objs.mk
+++ b/rules/c-objs.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define c-objs # args: $1 = dir, $2 = distdir
# C and S files are built only once, not once per way
$1_$2_C_OBJS = $$(patsubst %.c,$1/$2/build/%.$$(v_osuf),$$($1_$2_C_SRCS))
diff --git a/rules/c-sources.mk b/rules/c-sources.mk
index 8e90c702aa..2f0eb9821d 100644
--- a/rules/c-sources.mk
+++ b/rules/c-sources.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define c-sources # args: $1 = dir, $2 = distdir
$1_$2_C_FILES = $$(patsubst %,$1/%,$$($1_$2_C_SRCS))
$1_$2_S_FILES = $$(patsubst %,$1/%,$$($1_$2_S_SRCS))
diff --git a/rules/c-suffix-rules.mk b/rules/c-suffix-rules.mk
index 6dfed87680..4001f848d3 100644
--- a/rules/c-suffix-rules.mk
+++ b/rules/c-suffix-rules.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define c-suffix-rules
# $1 = dir
diff --git a/rules/clean-target.mk b/rules/clean-target.mk
index 12c7528573..bc9e2da5f6 100644
--- a/rules/clean-target.mk
+++ b/rules/clean-target.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define clean-target # args: $1 = dir, $2 = key, $3 = files/dirs to clean
clean : clean_$1
diff --git a/rules/distdir-opts.mk b/rules/distdir-opts.mk
index 5394adfc78..5aee691bf1 100644
--- a/rules/distdir-opts.mk
+++ b/rules/distdir-opts.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Set compilation flags that depend on a particular directory/distdir
diff --git a/rules/distdir-way-opts.mk b/rules/distdir-way-opts.mk
index 2248e2986f..c3656b7657 100644
--- a/rules/distdir-way-opts.mk
+++ b/rules/distdir-way-opts.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Set compilation flags that additionally depend on a particular way
diff --git a/rules/docbook.mk b/rules/docbook.mk
index 2f86363d4c..196019eb1f 100644
--- a/rules/docbook.mk
+++ b/rules/docbook.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Build docbook docs
diff --git a/rules/haddock.mk b/rules/haddock.mk
index 74cb20713f..2bd8cfc83b 100644
--- a/rules/haddock.mk
+++ b/rules/haddock.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define haddock # args: $1 = dir, $2 = distdir, $3 = way
diff --git a/rules/hi-rule.mk b/rules/hi-rule.mk
index 07b65ed8e1..04550b94ed 100644
--- a/rules/hi-rule.mk
+++ b/rules/hi-rule.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Here's an interesting rule!
# The .hi file depends on the .o file,
diff --git a/rules/hs-objs.mk b/rules/hs-objs.mk
index dac0bc540c..11d5cf946d 100644
--- a/rules/hs-objs.mk
+++ b/rules/hs-objs.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define hs-objs # args: $1 = dir, $2 = distdir, $3 = way
$1_$2_$3_HS_OBJS = $$(patsubst %,$1/$2/build/%.$$($3_osuf),$$($1_$2_SLASH_MODS))
diff --git a/rules/hs-sources.mk b/rules/hs-sources.mk
index d8e6b4224a..2a2f37a7c6 100644
--- a/rules/hs-sources.mk
+++ b/rules/hs-sources.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define hs-sources # args: $1 = dir, $2 = distdir
diff --git a/rules/hs-suffix-rules-srcdir.mk b/rules/hs-suffix-rules-srcdir.mk
index 276d28b264..8c8e381a06 100644
--- a/rules/hs-suffix-rules-srcdir.mk
+++ b/rules/hs-suffix-rules-srcdir.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define hs-suffix-rules-srcdir
# args: $1 = dir, $2 = distdir, $3 = way, $4 = srcdir
diff --git a/rules/hs-suffix-rules.mk b/rules/hs-suffix-rules.mk
index 62022bcec4..aadb72917a 100644
--- a/rules/hs-suffix-rules.mk
+++ b/rules/hs-suffix-rules.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define hs-suffix-rules # args: $1 = dir, $2 = distdir, $3 = way
diff --git a/rules/includes-sources.mk b/rules/includes-sources.mk
index de66b39305..8505305c04 100644
--- a/rules/includes-sources.mk
+++ b/rules/includes-sources.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define includes-sources # args: $1 = dir, $2 = distdir
diff --git a/rules/manual-package-config.mk b/rules/manual-package-config.mk
index 2eb33b787a..4716fe01fc 100644
--- a/rules/manual-package-config.mk
+++ b/rules/manual-package-config.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define manual-package-config # args: $1 = dir
@@ -30,4 +42,5 @@ clean_$1 : clean_$1_package.conf
.PHONY: clean_$1_package.conf
clean_$1_package.conf :
$(RM) $1/package.conf.install $1/package.conf.inplace
+
endef
diff --git a/rules/package-config.mk b/rules/package-config.mk
index 111386e115..2801ff56b6 100644
--- a/rules/package-config.mk
+++ b/rules/package-config.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define package-config # args: $1 = dir, $2 = distdir, $3 = GHC stage
@@ -38,4 +50,5 @@ endif
# Useful later
$1_$2_SLASH_MODS = $$(subst .,/,$$($1_$2_MODULES))
+
endef
diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk
index a2aca45e36..742390b029 100644
--- a/rules/shell-wrapper.mk
+++ b/rules/shell-wrapper.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
define shell-wrapper
# $1 = dir
# $2 = distdir
diff --git a/rules/way-prelims.mk b/rules/way-prelims.mk
index 9df9a5bc69..48852645ca 100644
--- a/rules/way-prelims.mk
+++ b/rules/way-prelims.mk
@@ -1,3 +1,14 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
define way-prelims # $1 = way
ifeq "$1" "v"
diff --git a/utils/genapply/Makefile b/utils/genapply/Makefile
index 06c44cf2a8..af57fa1cbd 100644
--- a/utils/genapply/Makefile
+++ b/utils/genapply/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/genapply
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/genapply/ghc.mk b/utils/genapply/ghc.mk
index 94fb45639c..cbd63f5c50 100644
--- a/utils/genapply/ghc.mk
+++ b/utils/genapply/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/genapply_dist_MODULES = GenApply
utils/genapply_dist_PROG = $(GHC_GENAPPLY_PGM)
diff --git a/utils/genprimopcode/Makefile b/utils/genprimopcode/Makefile
index 8849708790..b4c3b5d3f8 100644
--- a/utils/genprimopcode/Makefile
+++ b/utils/genprimopcode/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/genprimopcode
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/genprimopcode/ghc.mk b/utils/genprimopcode/ghc.mk
index 74ac4232e6..517c5773ba 100644
--- a/utils/genprimopcode/ghc.mk
+++ b/utils/genprimopcode/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/genprimopcode_dist_MODULES = Lexer Main ParserM Parser Syntax
utils/genprimopcode_dist_PROG = $(GHC_GENPRIMOP_PGM)
diff --git a/utils/ghc-cabal/ghc.mk b/utils/ghc-cabal/ghc.mk
index c0fd0f336d..6c6e6492b3 100644
--- a/utils/ghc-cabal/ghc.mk
+++ b/utils/ghc-cabal/ghc.mk
@@ -1,4 +1,15 @@
# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
# Bootstrapping ghc-cabal
# Euch, hideous hack:
diff --git a/utils/ghc-pkg/Makefile b/utils/ghc-pkg/Makefile
index c45176561c..3c96a137cd 100644
--- a/utils/ghc-pkg/Makefile
+++ b/utils/ghc-pkg/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/ghc-pkg
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/ghc-pkg/ghc.mk b/utils/ghc-pkg/ghc.mk
index 388af0d5b9..a27e30d35b 100644
--- a/utils/ghc-pkg/ghc.mk
+++ b/utils/ghc-pkg/ghc.mk
@@ -1,4 +1,16 @@
# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
+# -----------------------------------------------------------------------------
# Bootstrapping ghc-pkg
utils/ghc-pkg_dist_PROG = ghc-pkg
diff --git a/utils/hasktags/Makefile b/utils/hasktags/Makefile
index 64905b050a..4d774193ad 100644
--- a/utils/hasktags/Makefile
+++ b/utils/hasktags/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/hasktags
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/hasktags/ghc.mk b/utils/hasktags/ghc.mk
index 38ed434228..96a924fe86 100644
--- a/utils/hasktags/ghc.mk
+++ b/utils/hasktags/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/hasktags_dist_MODULES = Main
utils/hasktags_dist_PROG = hasktags$(exeext)
utils/hasktags_dist_INSTALL = YES
diff --git a/utils/hp2ps/Makefile b/utils/hp2ps/Makefile
index ed3dff8b21..3467bce473 100644
--- a/utils/hp2ps/Makefile
+++ b/utils/hp2ps/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/hp2ps
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/hp2ps/ghc.mk b/utils/hp2ps/ghc.mk
index 75964e1e39..a3abb2da75 100644
--- a/utils/hp2ps/ghc.mk
+++ b/utils/hp2ps/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/hp2ps_dist_C_SRCS = AreaBelow.c Curves.c Error.c Main.c \
Reorder.c TopTwenty.c AuxFile.c Deviation.c \
HpFile.c Marks.c Scale.c TraceElement.c \
diff --git a/utils/hpc/Makefile b/utils/hpc/Makefile
index a8458d2ee6..feb2034246 100644
--- a/utils/hpc/Makefile
+++ b/utils/hpc/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/hpc
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/hpc/ghc.mk b/utils/hpc/ghc.mk
index 0e0f91cd94..abc3a54595 100644
--- a/utils/hpc/ghc.mk
+++ b/utils/hpc/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/hpc_dist_MODULES = Main HpcCombine HpcDraft HpcFlags HpcLexer HpcMap \
HpcMarkup HpcOverlay HpcParser HpcReport HpcSet \
HpcShowTix HpcUtils
diff --git a/utils/mkdependC/Makefile b/utils/mkdependC/Makefile
index 0a67928259..91a213c022 100644
--- a/utils/mkdependC/Makefile
+++ b/utils/mkdependC/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/mkdependC
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/mkdependC/ghc.mk b/utils/mkdependC/ghc.mk
index 4f43cc72dc..d49c5cf2f2 100644
--- a/utils/mkdependC/ghc.mk
+++ b/utils/mkdependC/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
$(MKDEPENDC) : utils/mkdependC/mkdependC.prl $(MKDIRHIER)
$(MKDIRHIER) $(dir $@)
$(RM) -f $@
diff --git a/utils/mkdirhier/Makefile b/utils/mkdirhier/Makefile
index 879e170be5..d14c0ebef3 100644
--- a/utils/mkdirhier/Makefile
+++ b/utils/mkdirhier/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/mkdirhier
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/mkdirhier/ghc.mk b/utils/mkdirhier/ghc.mk
index 59ad53fe69..4ea063088f 100644
--- a/utils/mkdirhier/ghc.mk
+++ b/utils/mkdirhier/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
$(MKDIRHIER) : utils/mkdirhier/mkdirhier.sh
-mkdir $(INPLACE)
-mkdir $(INPLACE_BIN)
diff --git a/utils/runghc/Makefile b/utils/runghc/Makefile
index fb5c1c1c55..6e0dd5d308 100644
--- a/utils/runghc/Makefile
+++ b/utils/runghc/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/runghc
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/runghc/ghc.mk b/utils/runghc/ghc.mk
index 1eb2d87c47..09d8044fee 100644
--- a/utils/runghc/ghc.mk
+++ b/utils/runghc/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/runghc_dist_MODULES = Main
utils/runghc_dist_HC_OPTS = -cpp -DVERSION="\"$(ProjectVersion)\""
utils/runghc_dist_PROG = runghc$(exeext)
diff --git a/utils/touchy/Makefile b/utils/touchy/Makefile
index 0c580cfd43..a88606a1c9 100644
--- a/utils/touchy/Makefile
+++ b/utils/touchy/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
#
# Substitute for 'touch' on win32 platforms (without an Unix toolset installed).
#
diff --git a/utils/touchy/ghc.mk b/utils/touchy/ghc.mk
index 022783fd3e..3e5bb84cbc 100644
--- a/utils/touchy/ghc.mk
+++ b/utils/touchy/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/touchy_dist_C_SRCS = touchy.c
utils/touchy_dist_PROG = $(GHC_TOUCHY_PGM)
utils/touchy_dist_LIBEXEC = YES
diff --git a/utils/unlit/Makefile b/utils/unlit/Makefile
index b5ecc2dd47..1969f1da57 100644
--- a/utils/unlit/Makefile
+++ b/utils/unlit/Makefile
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
dir = utils/unlit
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
diff --git a/utils/unlit/ghc.mk b/utils/unlit/ghc.mk
index 458092543d..06725d5e23 100644
--- a/utils/unlit/ghc.mk
+++ b/utils/unlit/ghc.mk
@@ -1,3 +1,15 @@
+# -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
utils/unlit_dist_C_SRCS = unlit.c
utils/unlit_dist_PROG = $(GHC_UNLIT_PGM)
utils/unlit_dist_LIBEXEC = YES