-# Install gcc-extra-opts
-install ::
- $(INSTALL_DIR) $(DESTDIR)$(libdir)
- $(INSTALL_DATA) $(INSTALL_OPTS) extra-gcc-opts $(DESTDIR)$(libdir)
-
-install-docs ::
- @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
- for i in $(SUBDIRS); do \
- echo "------------------------------------------------------------------------"; \
- echo "== $(MAKE) $@ $(MFLAGS);"; \
- echo " in $(shell pwd)/$$i"; \
- echo "------------------------------------------------------------------------"; \
- $(MAKE) --no-print-directory -C $$i $(INSTALL_STAGE) $(MFLAGS) $@; \
- if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \
- done
-
-# -----------------------------------------------------------------------------
-# Making a binary distribution
-#
-# `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 a GHC addition for binary distributions
-#
-
-binary-dist::
- -rm -rf $(BIN_DIST_DIR)
- -$(RM) $(BIN_DIST_TAR_BZ2)
-
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-
-binary-dist::
- $(MAKE) prefix=$(BIN_DIST_DIR) install
- $(MAKE) prefix=$(BIN_DIST_DIR) install-docs
-
-binary-dist::
- cd $(BIN_DIST_DIR) && $(SHELL) ../distrib/prep-bin-dist-mingw
-
-binary-dist::
- $(MKDIRHIER) $(BIN_DIST_DIR)/icons
- cp distrib/hsicon.ico $(BIN_DIST_DIR)/icons
-
-# Tar up the distribution and build a manifest
-binary-dist :: tar-binary-dist
-
-.PHONY: tar-binary-dist
-tar-binary-dist:
- ( cd $(BIN_DIST_TOPDIR_ABS); $(TAR) cf - $(BIN_DIST_NAME) | bzip2 > $(BIN_DIST_TAR_BZ2) )
- ( cd $(BIN_DIST_TOPDIR_ABS); bunzip2 -c $(BIN_DIST_TAR_BZ2) | $(TAR) tf - | sed "s/^ghc-$(ProjectVersion)/fptools/" | sort >$(FPTOOLS_TOP_ABS)/bin-manifest-$(ProjectVersion) )
-
-else
-
-.PHONY: binary-dist
-
-BIN_DIST_VARFILE=$(BIN_DIST_PREP)/Makefile-vars.in
-
-WHERE_AM_I = $(BIN_DIST_NAME)
-
-binary-dist::
-# For the most part we will be putting filenames in $(BIN_DIST_LIST),
-# and telling tar to tar all of those files up. So to start with we
-# remove $(BIN_DIST_LIST) so that we can start with an empty slate
- $(RM) -f $(BIN_DIST_LIST)
-# Now we add a few files from mk/ to $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/package.mk >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/install.mk >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/recurse.mk >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/cabal.mk >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/cabal-flags.mk >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/mk/fptools.css >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/ANNOUNCE >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/LICENSE >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/install-sh >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/extra-gcc-opts.in >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/config.guess >> $(BIN_DIST_LIST)
- echo $(WHERE_AM_I)/config.sub >> $(BIN_DIST_LIST)
-# Now we recurse into various subdirectories and tell them to add and
-# files that they want into $(BIN_DIST_LIST)
-# XXX Ug, this duplication of "-C foo WHERE_AM_I=.../foo" isn't nice.
- $(MAKE) -C gmp binary-dist WHERE_AM_I=$(WHERE_AM_I)/gmp
- $(MAKE) -C includes binary-dist WHERE_AM_I=$(WHERE_AM_I)/includes
- $(MAKE) -C compiler binary-dist WHERE_AM_I=$(WHERE_AM_I)/compiler $(INSTALL_STAGE)
- $(MAKE) -C ghc binary-dist WHERE_AM_I=$(WHERE_AM_I)/ghc $(INSTALL_STAGE)
- $(MAKE) -C rts binary-dist WHERE_AM_I=$(WHERE_AM_I)/rts
- $(MAKE) -C driver binary-dist WHERE_AM_I=$(WHERE_AM_I)/driver
- $(MAKE) -C utils binary-dist WHERE_AM_I=$(WHERE_AM_I)/utils
- $(MAKE) -C docs binary-dist WHERE_AM_I=$(WHERE_AM_I)/docs
- $(MAKE) -C libffi binary-dist WHERE_AM_I=$(WHERE_AM_I)/libffi
- $(MAKE) -C libraries binary-dist WHERE_AM_I=$(WHERE_AM_I)/libraries
- $(MAKE) -C libraries/Cabal/doc binary-dist WHERE_AM_I=$(WHERE_AM_I)/libraries/Cabal/doc
-# Now thinks get messier. Some files we need to move around, rename or
-# generate. We do this under $(BIN_DIST_PREP).
- $(RM) -rf $(BIN_DIST_PREP_DIR)
- $(MKDIRHIER) $(BIN_DIST_PREP)/mk
- echo 'include $$(TOP)/Makefile-vars' > $(BIN_DIST_PREP)/mk/boilerplate.mk
- echo 'include $$(TOP)/mk/package.mk' > $(BIN_DIST_PREP)/mk/target.mk
- echo 'include $$(TOP)/mk/install.mk' >> $(BIN_DIST_PREP)/mk/target.mk
- echo 'include $$(TOP)/mk/recurse.mk' >> $(BIN_DIST_PREP)/mk/target.mk
- touch $(BIN_DIST_PREP)/mk/bindist.mk
-ifeq "$(darwin_TARGET_OS)" "1"
- cp mk/fix_install_names.sh $(BIN_DIST_PREP)/mk
-endif
-
- cp distrib/Makefile $(BIN_DIST_PREP)
- cp distrib/INSTALL $(BIN_DIST_PREP)
- cp distrib/README $(BIN_DIST_PREP)
- cp distrib/configure-bin.ac $(BIN_DIST_PREP)/configure.ac
-# We can't just list aclocal.m4 in $(BIN_DIST_LIST), as it needs to be
-# next to configure.ac when we run autoreconf
- cp aclocal.m4 $(BIN_DIST_PREP)
- cd $(BIN_DIST_PREP) && autoreconf
-# We need to copy the pwd program that was built with stage1 to where
-# the build system expects to find it, i.e. the location the pwd built
-# with the bootstrapping compiler normally occupies
- $(MKDIRHIER) $(BIN_DIST_PREP)/utils/pwd
- cp utils/pwd/dist-install/build/pwd/pwd $(BIN_DIST_PREP)/utils/pwd
-# And likewise the installPackage program
- $(MKDIRHIER) $(BIN_DIST_PREP)/utils/installPackage/install-inplace/bin
- cp utils/installPackage/dist-install/build/installPackage/installPackage \
- $(BIN_DIST_PREP)/utils/installPackage/install-inplace/bin