X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=192a0d5cc11429c524be6fd44f393ae5d76e1103;hb=475940d68ab79a5f352ccaca485baa17a2df0765;hp=2902bbfa8a48d267617d42ea52e46348ad1a5ba6;hpb=1362ee9b95a9977bc6cc02221d200a264b143d07;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 2902bbf..192a0d5 100644 --- a/Makefile +++ b/Makefile @@ -59,12 +59,12 @@ include $(TOP)/mk/boilerplate.mk # We can't 'make boot' in libraries until stage1 is built ifeq "$(BootingFromHc)" "YES" -SUBDIRS_BUILD = includes rts compat compiler docs utils driver +SUBDIRS_BUILD = gmp includes rts compat compiler docs utils driver else -SUBDIRS_BUILD = includes compat utils driver docs compiler rts +SUBDIRS_BUILD = gmp includes compat utils driver docs compiler rts endif -SUBDIRS = includes compat utils driver docs rts libraries compiler +SUBDIRS = gmp includes compat utils driver docs rts libraries compiler # Sanity check that all the core libraries are in the tree, to catch # failure to run darcs-all. @@ -120,6 +120,28 @@ bootstrap2 : stage1 bootstrap3 : bootstrap2 $(MAKE) stage3 +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +ifneq "$(WhatGccIsCalled)" "" +all :: stamp.inplace-gcc-lib + +.PHONY: stamp.inplace-gcc-lib + +# This is a hack to make Cabal able to find ld when we run tests with +# the inplace ghc. We should probably install all the gcc stuff in our +# tree somewhere, and then have install copy it from there rather than +# from the filesystem. +stamp.inplace-gcc-lib: + $(RM) -r compiler/gcc-lib + mkdir compiler/gcc-lib + cp $(GccDir)ld.exe compiler/gcc-lib + touch $@ + +clean :: + $(RM) -r compiler/gcc-lib + $(RM) -f inplace-gcc-lib +endif +endif + all :: bootstrap # ----------------------------------------------------------------------------- @@ -177,6 +199,11 @@ install :: endif endif +# Install gcc-extra-opts +install :: + @$(INSTALL_DIR) $(libdir) + $(INSTALL_DATA) $(INSTALL_OPTS) extra-gcc-opts $(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 \ @@ -225,6 +252,10 @@ binary-dist:: binary-dist:: cd $(BIN_DIST_DIR) && ../distrib/prep-bin-dist-mingw +binary-dist:: + $(MKDIRHIER) $(BIN_DIST_DIR)/icons + cp distrib/hsicon.ico $(BIN_DIST_DIR)/icons + else BinDistDirs = includes compiler docs rts @@ -236,6 +267,7 @@ BIN_DIST_TOP= distrib/Makefile \ ANNOUNCE \ LICENSE \ install-sh \ + extra-gcc-opts.in \ config.guess \ config.sub \ aclocal.m4 @@ -261,6 +293,7 @@ binary-dist-pre:: $(MKDIRHIER) $(BIN_DIST_DIR)/share binary-dist:: + $(MAKE) -C gmp binary-dist DOING_BIN_DIST=YES $(MAKE) -C includes binary-dist DOING_BIN_DIST=YES $(MAKE) -C compiler binary-dist DOING_BIN_DIST=YES $(INSTALL_STAGE) # XXX $(MAKE) -C docs binary-dist DOING_BIN_DIST=YES @@ -292,12 +325,6 @@ binary-dist:: $(MV) $(BIN_DIST_DIR)/configure-bin.ac $(BIN_DIST_DIR)/configure.ac ( cd $(BIN_DIST_DIR); autoreconf ) -ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -binary-dist:: - $(MKDIRHIER) $(BIN_DIST_DIR)/icons - cp distrib/hsicon.ico $(BIN_DIST_DIR)/icons -endif - # # binary dist'ing the documentation. # The default documentation to build/install is given below; overrideable