X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=Makefile;h=981fec0d8c52026d82e73e0e9a79cbcd4927f3bd;hp=b8c108946986ac88c543b94b443b1e3e8fa61193;hb=d4050431de1adddedb240e497f77f89301f77070;hpb=675f083f19d5395eb66c16d0ca02eb40467e6460 diff --git a/Makefile b/Makefile index b8c1089..981fec0 100644 --- a/Makefile +++ b/Makefile @@ -59,15 +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 -# Needed for, e.g., clean -SUBDIRS = $(SUBDIRS_BUILD) - -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. @@ -123,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 # ----------------------------------------------------------------------------- @@ -140,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"; \ @@ -182,7 +201,7 @@ endif 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"; \ @@ -228,6 +247,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 @@ -264,6 +287,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 @@ -295,12 +319,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 @@ -435,7 +453,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 \