X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libraries%2FMakefile;h=43220f6854ef52e4a47d12b31475da987bd210a8;hb=66579ff945831c5fc9a17c58c722ff01f2268d76;hp=7459bc5a7d5aaaa735f720762b322c7d720d3088;hpb=1db693badb37e35cb6ed0170e931d61b5234e863;p=ghc-hetmet.git diff --git a/libraries/Makefile b/libraries/Makefile index 7459bc5..43220f6 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -17,16 +17,13 @@ # To add a new library to the tree, do # # darcs get http://darcs.haskell.org/packages/foo -# [ -e foo/configure.ac ] && ( cd foo && autoreconf ) +# [ -f foo/configure.ac ] && ( cd foo && autoreconf ) # make make.library.foo -.PHONY: default_target show +.PHONY: default_target default_target: all -show: - @echo '$(VALUE)="$($(VALUE))"' - # make doesn't give us an easy way to get the libraries built in # dependency order the first time, but not rebuild base (for example) # when we want to rebuild another library later. @@ -41,7 +38,7 @@ include $(TOP)/mk/cabal-flags.mk # Any libraries listed here should also be in ../packages -SUBDIRS = ghc-prim $(INTEGER_LIBRARY) base syb concurrent unique timeout st getopt base3-compat array packedstring +SUBDIRS = ghc-prim $(INTEGER_LIBRARY) base syb base3-compat array packedstring SUBDIRS += containers bytestring old-locale old-time filepath ifeq "$(GhcLibsWithUnix)" "YES" SUBDIRS += unix @@ -89,37 +86,6 @@ ifeq "$(ghc_ge_609)" "YES" GhcLibHcOpts += -fno-warn-deprecated-flags endif -ifeq "$(RelocatableBuild)" "YES" -# On Windows we want to make moveable bindists, but we need to tell -# ghc-pkg where the haddock docs are. Therefore we completely ignore -# where the user tells us to put the haddock documentation and put it -# somewhere whose relative location we know. When installing we need -# to give Cabal a real path, though. -iprefix = $$topdir -ibindir = $$topdir -ilibdir = $$topdir -ilibexecdir = $$topdir -idynlibdir = $$topdir -idatadir = $$topdir -idocdir = $$topdir/doc/libraries/$$pkg -ihaddockdir = $$topdir/doc/libraries/$$pkg -ihtmldir = $$httptopdir/doc/libraries/$$pkg -html_installed_root = $(prefix)/doc/libraries -else -# On non-Windows we can just give absolute paths all the time, and -# thus obey the htmldir that we are given. -iprefix = $(prefix) -ibindir = $(bindir) -ilibdir = $(libdir) -ilibexecdir = $(libexecdir) -idynlibdir = $(dynlibdir) -idatadir = $(datadir) -idocdir = $(docdir)/libraries/$$pkg -ihaddockdir = $(htmldir)/libraries/$$pkg -ihtmldir = $(htmldir)/libraries/$$pkg -html_installed_root = $(htmldir)/libraries -endif - IFBUILDABLE=ifBuildable/ifBuildable $(FPTOOLS_TOP_ABS)/packages ifneq "$(DOING_BIN_DIST)" "YES" @@ -164,7 +130,7 @@ BOOTSTRAPPING_FLAGS = $(CABAL_GHC_FLAGS) -DCABAL_VERSION=$(CABAL_VERSION) -odir boot: ifBuildable/ifBuildable cabal-bin bootstrapping.conf cabal-bin: cabal-bin.hs - mkdir bootstrapping + -mkdir bootstrapping $(GHC) $(BOOTSTRAPPING_FLAGS) --make cabal-bin -o cabal-bin bootstrapping.conf: cabal-bin @@ -197,10 +163,6 @@ endif all: build -ifeq "$(HADDOCK_DOCS)" "YES" -all: doc -endif - .PHONY: rebuild.library.% .PHONY: remake.library.% @@ -242,8 +204,7 @@ dph/%: $(foreach SUBDIR,$(SUBDIRS), \ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).$(SUBDIR)): \ -stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: cabal-bin \ - bootstrapping.conf +stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: cabal-bin -$(RM) -f stamp/configure.library.*.$* $*/unbuildable $(MKDIRHIER) `dirname $@` ( cd $* && $(CABAL) configure $(ALL_CONFIGURE_FLAGS) ) \ @@ -260,7 +221,7 @@ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: cabal-bin \ # every time. $(foreach SUBDIR,$(SUBDIRS),make.library.$(SUBDIR)):\ make.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ - cabal-bin ifBuildable/ifBuildable bootstrapping.conf + cabal-bin ifBuildable/ifBuildable if $(IFBUILDABLE) $*; then \ cd $* && \ cmp -s $(MAKEFILE_LOCAL) Makefile.local || cp $(MAKEFILE_LOCAL) .; \ @@ -276,7 +237,7 @@ MAKEFILE_LOCAL = $(FPTOOLS_TOP_ABS)/libraries/Makefile.local # Build the library using 'setup build' (not the default) $(foreach SUBDIR,$(SUBDIRS),build.library.$(SUBDIR)):\ build.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ - cabal-bin ifBuildable/ifBuildable bootstrapping.conf + cabal-bin ifBuildable/ifBuildable if $(IFBUILDABLE) $*; then \ cd $* && \ $(CABAL) build $(BUILD_FLAGS); \ @@ -297,11 +258,11 @@ doc: $(foreach SUBDIR,$(DOC_SUBDIRS),doc.library.$(SUBDIR)) ifneq "$(HSCOLOUR)" "" CABAL_HADDOCK_FLAGS += --hyperlink-source endif -CABAL_HADDOCK_FLAGS += --with-haddock=$(FPTOOLS_ABS_TOP)/utils/haddock/install-inplace/bin/haddock +CABAL_HADDOCK_FLAGS += --with-haddock=$(FPTOOLS_TOP_ABS)/utils/haddock/install-inplace/bin/haddock $(foreach SUBDIR,$(DOC_SUBDIRS),doc.library.$(SUBDIR)):\ doc.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ - cabal-bin ifBuildable/ifBuildable bootstrapping.conf + cabal-bin ifBuildable/ifBuildable if $(IFBUILDABLE) $*; then \ cd $* && $(CABAL) haddock --html-location='../$$pkg' \ $(CABAL_HADDOCK_FLAGS); \ @@ -315,8 +276,9 @@ ifneq "$(HSCOLOUR)" "" if $(IFBUILDABLE) $* && [ -d $*/dist/doc/html/*/src/ ]; then cp hscolour.css $*/dist/doc/html/*/src/; fi endif -.PHONY: distclean clean clean.library.% +.PHONY: maintainer-clean distclean clean clean.library.% +maintainer-clean: clean distclean: clean clean: $(foreach SUBDIR,$(SUBDIRS),clean.library.$(SUBDIR)) @@ -335,7 +297,7 @@ ifneq "$(wildcard dph)" "" $(MAKE) -C dph clean endif -distclean: +maintainer-clean distclean: $(RM) $(foreach lib, $(SUBDIRS), $(lib)/.depend $(lib)/.depend.bak) $(foreach SUBDIR,$(SUBDIRS),clean.library.$(SUBDIR)): \ @@ -379,14 +341,13 @@ $(foreach SUBDIR,$(SUBDIRS),install.library.$(SUBDIR)): \ install.library.%: ifBuildable/ifBuildable if $(IFBUILDABLE) $*; then \ cd $* && \ - $(INSTALL_PACKAGE) install '$(DESTDIR)$(bindir)/ghc-pkg' '$(DESTDIR)$(datadir)/package.conf' '$(DESTDIR)' '$(prefix)' '$(iprefix)' '$(ibindir)' '$(ilibdir)' '$(ilibexecdir)' '$(idynlibdir)' '$(idatadir)' '$(idocdir)' '$(ihtmldir)' '$(ihaddockdir)' ; \ + $(INSTALL_PACKAGE) install '$(GHC_PKG_INSTALL_PROG)' '$(DESTDIR)$(datadir)/package.conf' '$(DESTDIR)' '$(prefix)' '$(iprefix)' '$(ibindir)' '$(ilibdir)' '$(ilibexecdir)' '$(idynlibdir)' '$(idatadir)' '$(idocdir)' '$(ihtmldir)' '$(ihaddockdir)' ; \ fi .PHONY: binary-dist binary-dist.library.% BIN_DIST_LIBDIR=$(BIN_DIST_DIR)/libraries -BINDIST_EXTRAS += ifBuildable/ifBuildable binary-dist: $(foreach SUBDIR,$(SUBDIRS),binary-dist.library.$(SUBDIR)) ifeq "$(WHERE_AM_I)" "" echo "I don't know where I am" >&2 @@ -398,6 +359,7 @@ endif # a Cabal package if we keep it. However, once we drop extralibs we can # probably remove it anyway. echo $(WHERE_AM_I)/ifBuildable/ifBuildable >> $(BIN_DIST_LIST) + for FILE in dph/dph-prim-interface/interface/*.h dph/dph/LICENSE; do if [ -f $$FILE ]; then echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); fi; done ifeq "$(HADDOCK_DOCS)" "YES" for FILE in gen_contents_index index.html doc-index*.html; do echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); done endif