-
-#-----------------------------------------------------------------------------
-# Linking
-
-# Include libghccompat in stage1 only. In stage2 onwards, all these
-# libraries will be available from the main libraries.
-
-ifeq "$(stage)" "1"
-include $(GHC_COMPAT_DIR)/compat.mk
-endif
-
-SRC_LD_OPTS += -no-link-chk
-
-# -----------------------------------------------------------------------------
-# create ghc-inplace, a convenient way to run ghc from the build tree...
-
-all :: $(odir)/ghc-inplace ghc-inplace
-
-$(odir)/ghc-inplace : $(GHC_PROG)
- @$(RM) $@
- echo '#!/bin/sh' >>$@
- echo exec $(GHC_COMPILER_DIR_ABS)/$(GHC_PROG) '-B$(subst \,\\,$(FPTOOLS_TOP_ABS_PLATFORM))' '"$$@"' >>$@
- chmod 755 $@
-
-ghc-inplace : stage1/ghc-inplace
- $(RM) -f $@ && $(LN_S) $< $@
-
-ifeq "$(stage)" "1"
-CLEAN_FILES += ghc-inplace
-endif
-
-CLEAN_FILES += $(odir)/ghc-inplace
-
-#-----------------------------------------------------------------------------
-# install
-
-# We don't want ghc treated as an ordinary executable,
-# but put it together with the libraries.
-# Also don't want any interface files installed
-
-DESTDIR = $(INSTALL_LIBRARY_DIR_GHC)
-
-ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
-INSTALL_LIBEXECS += $(GHC_PROG)
-else
-INSTALL_PROGS += $(GHC_PROG)
-endif
-
-# ----------------------------------------------------------------------------
-# profiling.
-
-# rename/RnBinds_HC_OPTS += -auto-all
-# rename/RnEnv_HC_OPTS += -auto-all
-# rename/RnExpr_HC_OPTS += -auto-all
-# rename/RnHiFiles_HC_OPTS += -auto-all
-# rename/RnHsSyn_HC_OPTS += -auto-all
-# rename/Rename_HC_OPTS += -auto-all
-# rename/RnIfaces_HC_OPTS += -auto-all
-# rename/RnNames_HC_OPTS += -auto-all
-# rename/RnSource_HC_OPTS += -auto-all
-# rename/RnTypes_HC_OPTS += -auto-all
-#
-# typecheck/Inst_HC_OPTS += -auto-all
-# typecheck/TcBinds_HC_OPTS += -auto-all
-# typecheck/TcClassDcl_HC_OPTS += -auto-all
-# typecheck/TcDefaults_HC_OPTS += -auto-all
-# typecheck/TcDeriv_HC_OPTS += -auto-all
-# typecheck/TcEnv_HC_OPTS += -auto-all
-# typecheck/TcExpr_HC_OPTS += -auto-all
-# typecheck/TcForeign_HC_OPTS += -auto-all
-# typecheck/TcGenDeriv_HC_OPTS += -auto-all
-# typecheck/TcHsSyn_HC_OPTS += -auto-all
-# typecheck/TcIfaceSig_HC_OPTS += -auto-all
-# typecheck/TcInstDcls_HC_OPTS += -auto-all
-# typecheck/TcMatches_HC_OPTS += -auto-all
-# typecheck/TcMonoType_HC_OPTS += -auto-all
-# typecheck/TcMType_HC_OPTS += -auto-all
-# typecheck/TcPat_HC_OPTS += -auto-all
-# typecheck/TcRnDriver_HC_OPTS += -auto-all
-# #typecheck/TcRnMonad_HC_OPTS += -auto-all
-# #typecheck/TcRnTypes_HC_OPTS += -auto-all
-# typecheck/TcRules_HC_OPTS += -auto-all
-# typecheck/TcSimplify_HC_OPTS += -auto-all
-# typecheck/TcSplice_HC_OPTS += -auto-all
-# typecheck/TcTyClsDecls_HC_OPTS += -auto-all
-# typecheck/TcTyDecls_HC_OPTS += -auto-all
-# typecheck/TcType_HC_OPTS += -auto-all
-# typecheck/TcUnify_HC_OPTS += -auto-all
-
-coreSyn/CorePrep_HC_OPTS += -auto-all
-# parser/Parser_HC_OPTS += -fasm
-
-#-----------------------------------------------------------------------------
-# Building the GHC package
-
-# The GHC package is made from the stage 2 build. Fortunately the
-# package build system framework more or less does the right thing for
-# us here.
-
-ifeq "$(stage)" "2"
-PACKAGE = ghc
-HIERARCHICAL_LIB = NO
-VERSION = $(ProjectVersion)
-PKG_DEPENDS += base haskell98
-PACKAGE_CPP_OPTS += -DPKG_DEPENDS='$(PKG_DEPENDS)'
-
-# Omit Main from the library, the client will want to plug their own Main in
-LIBOBJS = $(filter-out $(odir)/main/Main.o $(odir)/parser/hschooks.o, $(OBJS))
-
-# disable splitting: it won't really help with GHC, and the specialised
-# build system for compiler/ isn't set up to handle it.
-SplitObjs = NO
-
-# the package build system likes to set WAYS=$(GhcLibWays), but we don't
-# really want to build the whole of GHC multiple ways... if you do,
-# set GhcCompilerWays instead.
-GhcLibWays = $(GhcCompilerWays)
-
-# override $(GhcLibHcOpts): we want GhcStage2HcOpts to take precedence
-GhcLibHcOpts =
-
-# override default definition of HS_IFACES so we can add $(odir)
-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:
-
-all :: $(GHC_PROG)
-
-$(GHC_PROG) : libHS$(PACKAGE)$(_way).a main/Main.hs
- $(MAKE) -f Makefile.ghcbin $(MFLAGS) HS_PROG=$(GHC_PROG) $@
-
-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
-