X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=Makefile;h=c6f54f74fd4933739d1c9af62cffeb367fe82fd9;hp=a2337f007d7356a383a8d5306b5599ea5b843be1;hb=269ade3ebc4b3a7245825281e50e76e0020c2ce6;hpb=fdf1cd0399158308769fcb2ab7e46e215a68d865 diff --git a/Makefile b/Makefile index a2337f0..c6f54f7 100644 --- a/Makefile +++ b/Makefile @@ -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 \ @@ -211,8 +238,6 @@ install-docs :: # binary-dist is a GHC addition for binary distributions # -BIN_DIST_TARBALL=ghc-$(ProjectVersion)-$(TARGETPLATFORM).tar.bz2 - binary-dist:: -rm -rf $(BIN_DIST_DIR) -$(RM) $(BIN_DIST_DIR).tar.gz @@ -225,6 +250,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 +265,7 @@ BIN_DIST_TOP= distrib/Makefile \ ANNOUNCE \ LICENSE \ install-sh \ + extra-gcc-opts.in \ config.guess \ config.sub \ aclocal.m4 @@ -251,7 +281,8 @@ binary-dist:: binary-dist-pre binary-dist-pre:: $(MKDIRHIER) $(BIN_DIST_DIR)/mk echo 'include $$(TOP)/Makefile-vars' > $(BIN_DIST_DIR)/mk/boilerplate.mk - echo 'include $$(TOP)/mk/install.mk' > $(BIN_DIST_DIR)/mk/target.mk + echo 'include $$(TOP)/mk/package.mk' > $(BIN_DIST_DIR)/mk/target.mk + echo 'include $$(TOP)/mk/install.mk' >> $(BIN_DIST_DIR)/mk/target.mk echo 'include $$(TOP)/mk/recurse.mk' >> $(BIN_DIST_DIR)/mk/target.mk echo '' > $(BIN_DIST_DIR)/mk/compat.mk cp mk/package.mk $(BIN_DIST_DIR)/mk/ @@ -293,12 +324,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 @@ -433,11 +458,11 @@ 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)) +SRC_DIST_DIRS += mk docs distrib bindisttest $(filter-out docs distrib,$(SUBDIRS)) SRC_DIST_FILES += \ configure.ac config.guess config.sub configure \ aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \ - ghc.spec.in VERSION + ghc.spec.in extra-gcc-opts.in VERSION boot # ----------------------------------------------------------------------------- # Source distributions @@ -537,6 +562,9 @@ MAINTAINER_CLEAN_FILES += VERSION extraclean:: $(RM) -rf autom4te.cache +clean distclean :: + $(MAKE) -C bindisttest $@ + # ----------------------------------------------------------------------------- # Turn off target.mk's rules for 'all', 'boot' and 'install'.