summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2006-09-04 13:55:13 +0000
committersimonpj@microsoft.com <unknown>2006-09-04 13:55:13 +0000
commit6f873493416ccb4d277377bf031639bc307c8369 (patch)
tree4e5a3e2acc8afb5c32e0544ab3178507edf39920
parent905941e45d80c193703fa65498c4e0b8d9dd9899 (diff)
downloadhaskell-6f873493416ccb4d277377bf031639bc307c8369.tar.gz
Comments only
-rw-r--r--compiler/Makefile13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler/Makefile b/compiler/Makefile
index 653f4d1a57..43622c3a5d 100644
--- a/compiler/Makefile
+++ b/compiler/Makefile
@@ -820,7 +820,9 @@ coreSyn/CorePrep_HC_OPTS += -auto-all
# package build system framework more or less does the right thing for
# us here.
+# All this section is stage-2 only!
ifeq "$(stage)" "2"
+
PACKAGE = ghc
HIERARCHICAL_LIB = NO
VERSION = $(ProjectVersion)
@@ -848,16 +850,19 @@ HS_IFACES = $(addsuffix .$(way_)hi,$(basename $(HS_OBJS)))
# Haddock can't handle recursive modules currently, so we disable it for now.
NO_HADDOCK_DOCS = YES
-# Don't build the GHC binary as normal, because we need to link it
-# against the GHC package. The GHC binary itself is built by
-# compiling Main.o separately and linking it with -package ghc. This is
-# done using a separate Makefile:
+# The stage 2 GHC binary itself is built by compiling main/Main.hs
+# (the same as used in stage 1) against the GHC package.
+#
+# This is done by compiling Main.hs separately and linking it with
+# -package ghc. This is done using a separate Makefile, Makefile.ghcbin
+# Why? See comments in Makefile.ghcbin
all :: $(GHC_PROG)
$(GHC_PROG) : libHS$(PACKAGE)$(_way).a main/Main.hs
$(MAKE) -f Makefile.ghcbin $(MFLAGS) HS_PROG=$(GHC_PROG) $@
+# Propagate standard targets to Makefile.ghcbin
docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean maintainer-clean $(INSTALL_TARGET) $(INSTALL_DOCS_TARGET) html chm HxS ps dvi txt::
$(MAKE) -f Makefile.ghcbin $(MFLAGS) $@
endif