diff options
author | Ian Lynagh <igloo@earth.li> | 2007-05-13 16:34:51 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2007-05-13 16:34:51 +0000 |
commit | 0fef954527222d451cb437bb28731f041a301289 (patch) | |
tree | 6fccaa451ec2bc1200a6302f7dedced5d6043e63 | |
parent | 6ac403be68c9ce9bf6ee6b78b9c70c69454dcde5 (diff) | |
download | haskell-0fef954527222d451cb437bb28731f041a301289.tar.gz |
Move the libraries bindist generation code into libraries/Makefile
This should mean it works even when some libraries are unbuildable.
-rw-r--r-- | Makefile | 28 | ||||
-rw-r--r-- | libraries/Makefile | 20 | ||||
-rw-r--r-- | mk/config.mk.in | 4 | ||||
-rw-r--r-- | utils/Makefile | 2 |
4 files changed, 28 insertions, 26 deletions
@@ -223,10 +223,6 @@ BinDistLinks = ghc ghci ghc-pkg BinDistLibSplicedFiles = package.conf BinDistDirs = includes compiler docs driver rts utils -BIN_DIST_NAME=ghc-$(ProjectVersion) -BIN_DIST_TOPDIR=$(FPTOOLS_TOP_ABS) -BIN_DIST_DIR=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME) - BIN_DIST_TARBALL=ghc-$(ProjectVersion)-$(TARGETPLATFORM).tar.bz2 BIN_DIST_TOP= distrib/Makefile \ @@ -332,6 +328,7 @@ binary-dist :: $(BINARY_DIST_DOC_RULES) $(BINARY_DIST_DOC_RULES): binary-dist-doc-%: $(MAKE) -C $* $(MFLAGS) $(BINDIST_DOC_WAYS) $(MAKE) -C $* $(MFLAGS) install-docs \ + MAKING_BIN_DIST=1 XMLDocWays="$(BINDIST_DOC_WAYS)" \ prefix=$(BIN_DIST_DIR) \ exec_prefix=$(BIN_DIST_DIR) \ @@ -372,27 +369,8 @@ endif .PHONY: binary-dist-doc-% -BIN_DIST_LIBDIR=$(BIN_DIST_DIR)/libraries - -LIBRARY_SUBDIRS=$(shell $(MAKE) -s -C libraries subdirs) - -BINARY_DIST_LIBRARY_RULES=$(foreach d,$(LIBRARY_SUBDIRS),binary-dist-lib-$d) - -binary-dist:: $(BINARY_DIST_LIBRARY_RULES) - cp libraries/Makefile $(BIN_DIST_LIBDIR) - cp libraries/gen_contents_index $(BIN_DIST_LIBDIR) - cp libraries/index.html $(BIN_DIST_LIBDIR) - cp libraries/doc-index.html $(BIN_DIST_LIBDIR) - cp -a libraries/stamp $(BIN_DIST_LIBDIR) - -$(BINARY_DIST_LIBRARY_RULES): binary-dist-lib-%: - $(MKDIRHIER) $(BIN_DIST_LIBDIR)/$*/setup - cp libraries/$*/setup/Setup $(BIN_DIST_LIBDIR)/$*/setup - cp libraries/$*/*.cabal $(BIN_DIST_LIBDIR)/$* - cp -a libraries/$*/dist $(BIN_DIST_LIBDIR)/$* - find $(BIN_DIST_LIBDIR)/$*/dist \ - \( \( -name "*.o" -o -name "*.p_o" \) -a \! -name "HS*" \) \ - -exec rm {} \; +binary-dist:: + $(MAKE) -C libraries binary-dist # Jiggle the files around to make a valid Windows distribution if necessary ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" diff --git a/libraries/Makefile b/libraries/Makefile index be487e34b5..94232ff029 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -226,6 +226,26 @@ install.library.%: stamp/configure.library.install.% \ %/setup/Setup ifBuildable/ifBuildable ifBuildable/ifBuildable $* setup/Setup install +.PHONY: binary-dist binary-dist.library.% + +BIN_DIST_LIBDIR=$(BIN_DIST_DIR)/libraries + +binary-dist: $(foreach SUBDIR,$(SUBDIRS),binary-dist.library.$(SUBDIR)) + cp Makefile $(BIN_DIST_LIBDIR) + cp gen_contents_index $(BIN_DIST_LIBDIR) + cp index.html $(BIN_DIST_LIBDIR) + cp doc-index.html $(BIN_DIST_LIBDIR) + cp -a stamp $(BIN_DIST_LIBDIR) + +$(foreach SUBDIR,$(SUBDIRS),binary-dist.library.$(SUBDIR)): \ +binary-dist.library.%: + $(MKDIRHIER) $(BIN_DIST_LIBDIR)/$*/setup + ifBuildable/ifBuildable $* cp setup/Setup $(BIN_DIST_LIBDIR)/$*/setup + ifBuildable/ifBuildable $* cp $*.cabal $(BIN_DIST_LIBDIR)/$* + ifBuildable/ifBuildable $* cp -a dist $(BIN_DIST_LIBDIR)/$* + ifBuildable/ifBuildable $* find $(BIN_DIST_LIBDIR)/$*/dist \ + \( -name "*.o" -o -name "*.p_o" -o -name "HS*" \) -exec rm {} \; + .PHONY: distclean clean clean.library.% distclean: clean diff --git a/mk/config.mk.in b/mk/config.mk.in index f3fc65e63b..5fea4b2503 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -502,6 +502,10 @@ FPTOOLS_TOP_ABS = @hardtop@ # The platform specific version of 'hardtop'. FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@ +BIN_DIST_NAME=ghc-$(ProjectVersion) +BIN_DIST_TOPDIR=$(FPTOOLS_TOP_ABS) +BIN_DIST_DIR=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME) + # # Installation directories, we don't use half of these, # but since the configure script has them on offer while diff --git a/utils/Makefile b/utils/Makefile index b5a14af6ee..a6f5f9af2e 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -1,7 +1,7 @@ TOP=.. include $(TOP)/mk/boilerplate.mk -ifneq "$(BIN_DIST_NAME)" "" +ifeq "$(MAKING_BIN_DIST)" "1" # We're doing a binary-dist, descend into a subset of the dirs. SUBDIRS = hp2ps unlit else |