X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=gmp%2FMakefile;h=ab661d9f13c8fe0fed611ee44f021c6018e6e086;hb=8612b9a9f60161f65e656f65df8b679008911b3a;hp=f09c52384f03d40affaa87d2eda6c087800390fb;hpb=83a8c81a9c000da9bbef3b91572b1820c55ccc19;p=ghc-hetmet.git diff --git a/gmp/Makefile b/gmp/Makefile index f09c523..ab661d9 100644 --- a/gmp/Makefile +++ b/gmp/Makefile @@ -14,6 +14,11 @@ ifneq "$(HaveFrameworkGMP)" "YES" PLATFORM := $(shell echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g') +# 2007-09-26 +# set -o igncr +# is not a valid command on non-Cygwin-systems. +# Let it fail silently instead of aborting the build. +# # 2007-07-05 # We do # set -o igncr; export SHELLOPTS @@ -40,24 +45,25 @@ BUILD_SHARED=no endif boot :: stamp.gmp.static -all :: libgmp.a -install :: libgmp.a +BINDIST_STAMPS = stamp.gmp.static +INSTALL_HEADERS += gmp.h INSTALL_LIBS += libgmp.a ifeq "$(BUILD_SHARED)" "yes" boot :: stamp.gmp.shared -all :: libgmp-3.dll libgmp.dll.a -install :: libgmp-3.dll libgmp.dll.a +BINDIST_STAMPS += stamp.gmp.shared INSTALL_LIBS += libgmp.dll.a INSTALL_PROGS += libgmp-3.dll endif +install all :: $(INSTALL_HEADERS) $(INSTALL_LIBS) $(INSTALL_PROGS) + stamp.gmp.static: $(RM) -rf $(GMP_DIR) gmpbuild $(TAR) -zxf $(GMP_TARBALL) mv $(GMP_DIR) gmpbuild chmod +x ln - set -o igncr; export SHELLOPTS; \ + (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \ export PATH=`pwd`:$$PATH; \ cd gmpbuild && \ CC=$(WhatGccIsCalled) $(SHELL) configure \ @@ -69,13 +75,16 @@ stamp.gmp.shared: $(TAR) -zxf $(GMP_TARBALL) mv $(GMP_DIR) gmpbuild-shared chmod +x ln - set -o igncr; export SHELLOPTS; \ + (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \ export PATH=`pwd`:$$PATH; \ cd gmpbuild-shared && \ CC=$(WhatGccIsCalled) $(SHELL) configure \ --enable-shared=yes --disable-static --host=$(PLATFORM) --build=$(PLATFORM) touch $@ +gmp.h: stamp.gmp.static + $(CP) gmpbuild/gmp.h . + libgmp.a: stamp.gmp.static $(MAKE) -C gmpbuild MAKEFLAGS= $(CP) gmpbuild/.libs/libgmp.a . @@ -90,10 +99,15 @@ libgmp.dll.a: libgmp-3.dll endif endif +# GMP takes a long time to build, but changes rarely. Hence we don't +# bother cleaning it before validating, because that adds a +# significant overhead to validation. +ifeq "$(Validating)" "NO" clean distclean maintainer-clean :: $(RM) -f stamp.gmp.static stamp.gmp.shared $(RM) -rf gmpbuild $(RM) -rf gmpbuild-shared +endif #----------------------------------------------------------------------------- # @@ -102,19 +116,20 @@ clean distclean maintainer-clean :: include $(TOP)/mk/target.mk binary-dist: - @: -ifneq "$(HaveLibGmp)" "YES" -ifneq "$(HaveFrameworkGMP)" "YES" $(INSTALL_DIR) $(BIN_DIST_DIR)/gmp - touch $(BIN_DIST_DIR)/gmp/$(GMP_TARBALL) $(INSTALL_DATA) Makefile $(BIN_DIST_DIR)/gmp/ -ifneq "$(INSTALL_PROGS)" "" +ifneq "$(HaveLibGmp)" "YES" + ifneq "$(HaveFrameworkGMP)" "YES" + $(INSTALL_DATA) $(BINDIST_STAMPS) $(BIN_DIST_DIR)/gmp/ + ifneq "$(INSTALL_PROGS)" "" $(INSTALL_DATA) $(INSTALL_PROGS) $(BIN_DIST_DIR)/gmp/ -endif -ifneq "$(INSTALL_LIBS)" "" + endif + ifneq "$(INSTALL_LIBS)" "" $(INSTALL_DATA) $(INSTALL_LIBS) $(BIN_DIST_DIR)/gmp/ -endif - -endif + endif + ifneq "$(INSTALL_HEADERS)" "" + $(INSTALL_HEADER) $(INSTALL_HEADERS) $(BIN_DIST_DIR)/gmp/ + endif + endif endif