-# Certain targets require that Project is set from the command line.
-
-CURRENT_TARGET = $(MAKECMDGOALS)
-project-check :
- @if [ "$(Project)" = "" ]; then \
- echo " You need to set \"Project\" in order to make $(CURRENT_TARGET)"; \
- echo " eg. make $(CURRENT_TARGET) Project=Ghc"; \
- exit 1; \
- fi
-
-# -----------------------------------------------------------------------------
-# Targets: all, stage1, stage2, stage3
-
-DIST_CLEAN_FILES += config.cache config.status
-
-extraclean::
- $(RM) -rf autom4te.cache
-
-#
-# If you've ended up using an in-place version of Happy,
-# make sure it gets built early on.
-#
-ifeq "$(HAPPY)" "$(FPTOOLS_TOP_ABS)/happy/src/happy-inplace"
-build :: $(FPTOOLS_TOP_ABS)/happy/src/happy-inplace
-
-$(FPTOOLS_TOP_ABS)/happy/src/happy-inplace : glafp-utils
- $(MAKE) -C happy boot all
-endif
-
-# Build all projects that we know about
-build ::
- @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
- for i in $(SUBDIRS); do \
- if [ -d $$i ]; then \
- $(MAKE) -C $$i boot; \
- if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \
- $(MAKE) -C $$i all; \
- if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \
- fi; \
- done
-
-ifeq "$(findstring ghc, $(SUBDIRS))" "ghc"
-
-stage1 : build
-
-stage2 :
- $(MAKE) -C ghc/compiler boot stage=2
- $(MAKE) -C ghc/compiler stage=2
-
-stage3 :
- $(MAKE) -C ghc/compiler boot stage=3
- $(MAKE) -C ghc/compiler stage=3
-
-bootstrap : bootstrap2
-bootstrap2 : stage1 stage2
-bootstrap3 : stage1 stage2 stage3
-
-all :: bootstrap
-
-# We want to install the stage 2 bootstrapped compiler by default, but we let
-# the user override this by saying 'make install stage=1', for example.
-ifeq "$(stage)" ""
-INSTALL_STAGE = stage=2
-else
-INSTALL_STAGE =
-endif
-
-else # Not building GHC
-
-all :: build
-
-INSTALL_STAGE =
-
-endif
-
-boot ::
- @echo "Please use \`make all' only from the top-level, or \`make boot' followed"
- @echo "by \`make all' in an individual project subdirectory (ghc, hslibs etc.)."
-
-install ::
- @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
- for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \
- if [ -d $$i ]; then \
- $(MAKE) -C $$i $(INSTALL_STAGE) install; \
- if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \
- fi; \
- done
-
-install-docs ::
- @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
- for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \
- if [ -d $$i ]; then \
- $(MAKE) -C $$i $(INSTALL_STAGE) install-docs; \
- if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \
- fi; \
- done
-
-# -----------------------------------------------------------------------------
-# Making a binary distribution
-#
-# To make a particular binary distribution:
-# set $(Project) to the name of the project, capitalised (eg. Ghc or Happy).
-
-# `dist' `binary-dist'
-# Create a distribution tar file for this program. The tar file
-# should be set up so that the file names in the tar file start with
-# a subdirectory name which is the name of the package it is a
-# distribution for. This name can include the version number.
-#
-# For example, the distribution tar file of GCC version 1.40 unpacks
-# into a subdirectory named `gcc-1.40'.
-#
-# The easiest way to do this is to create a subdirectory
-# appropriately named, use ln or cp to install the proper files in
-# it, and then tar that subdirectory.
-#
-# The dist target should explicitly depend on all non-source files
-# that are in the distribution, to make sure they are up to date in
-# the distribution. See Making Releases.
-#
-# binary-dist is an FPtools addition for binary distributions
-#
-
-binary-dist :: project-check
-
-BIN_DIST_TMPDIR=$(FPTOOLS_TOP_ABS)
-BIN_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion)
-
-#
-# list of toplevel directories to include in binary distrib.