X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=192a0d5cc11429c524be6fd44f393ae5d76e1103;hb=93a74b86d201bf0ee3233e993e88eb80c2d97f68;hp=2c77d336189b67a176844dae725a496065ed3db9;hpb=8044722d344bd005e133af973d535a682209b9c9;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 2c77d33..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_INSTALL = 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 # ----------------------------------------------------------------------------- @@ -137,7 +159,7 @@ endif install :: check-packages $(INSTALL_DIR) $(bindir) @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \ - for i in $(SUBDIRS_INSTALL); do \ + for i in $(SUBDIRS); do \ echo "------------------------------------------------------------------------"; \ echo "== $(MAKE) $@ $(MFLAGS);"; \ echo " in $(shell pwd)/$$i"; \ @@ -177,9 +199,14 @@ 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_INSTALL); do \ + for i in $(SUBDIRS); do \ echo "------------------------------------------------------------------------"; \ echo "== $(MAKE) $@ $(MFLAGS);"; \ echo " in $(shell pwd)/$$i"; \ @@ -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 @@ -432,7 +459,7 @@ SRC_DIST_DIR=$(shell pwd)/$(SRC_DIST_NAME) # # Files to include in source distributions # -SRC_DIST_DIRS += mk docs distrib $(filter-out docs distrib,$(SUBDIRS_INSTALL)) +SRC_DIST_DIRS += mk docs distrib $(filter-out docs distrib,$(SUBDIRS)) SRC_DIST_FILES += \ configure.ac config.guess config.sub configure \ aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \